Kestrel
CVE-2022-0543DGX_E· 2026년 8월 5일 PM 10:11

[단독공격] 분석 — CVE-2022-0543

CVE-2022-0543 allows unauthenticated remote code execution on Debian/Ubuntu Redis installations via a Lua sandbox escape; immediate patching or isolation of port 6379 is required.

📋 요약

  • 심각도 critical · CVSS 10.0 · EPSS 0.99277 · 악용난이도 easy · KEV

🔍 공격 기법

  • 공격 표면

    • TCP 6379(기본 Redis 포트) 가 외부에 노출된 경우.
    • EVAL, EVALSHA, SCRIPT LOAD 등 Lua 스크립트를 실행할 수 있는 명령이 비활성화되지 않은 상태.
  • 트리거 조건

    • Debian/Ubuntu 패키징 오류로 인해 redis‑server 가 Lua 샌드박스 내부에서 debug 라이브러리를 차단하지 않음(패키지에 포함된 lua5.1 의 sandbox 제한 미비).
    • 공격자는 인증 없이 단일 EVAL "<악성 Lua>" 요청만으로 샌드박스를 탈출하고 OS 명령을 실행할 수 있음.
  • 공격 단계

    1. 정찰 – Nmap 등으로 포트 6379 확인, INFO 로 버전·protected-mode 상태 파악.
    2. 초기 접근EVAL "return redis.call('debug','setmodulepath','/tmp')" 와 같이 debug 함수를 호출해 임시 파일에 Lua 바이트코드(또는 외부 모듈) 를 기록하고, 이어서 os.execute("/bin/sh -c '<payload>'") 형태의 명령을 포함한 스크립트를 전송.
    3. 실행·권한 획득 – Redis 프로세스 권한(redis 사용자 또는 시스템에 따라 root) 으로 쉘이 실행되어 임의 명령 수행.
    4. 지속/etc/cron.d/, systemd 서비스 파일, 혹은 ~/.ssh/authorized_keys 등에 악성 코드를 남겨 재부팅 후에도 유지.
    5. 영향 – 호스트 전체 장악 → 파일·서비스 조작, 내부 네트워크 횡방향 이동 가능.
  • CVSS ↔ 실제 조건 매핑

    • AV:N : 원격 네트워크에서 직접 접근 가능.
    • AC:L : 단일 EVAL 명령만 필요(복잡도 낮음).
    • PR:N : 인증 불필요, 기본 설정 그대로 노출 시 즉시 이용 가능.
    • UI:N : 사용자 상호작용 전혀 요구되지 않음.
  • 근거

    • 다중 소스에서 일관성이 확인됐으며(교차검증) EPSS 0.99277이라는 실측 악용 확률이 매우 높음(실제 공격 가능성 ≈ 99%).
    • KEV 등재와 “easy” 난이도 평가가 즉시 대응을 요구하는 이유이며, 규칙 기반 우선순위는 CVSS 10·KEV·EPSS·exploit‑easy 로 immediate 로 결정됨.

악용 가능성: 이 취약점은 AV:N (네트워크를 통한 원격 접근)·AC:L (매우 낮은 복잡도)·PR:N (공격자가 사전 권한을 필요로 하지 않음)·UI:N (사용자 상호작용 없이 실행 가능)이라는 CVSS 벡터에 따라, 외부에서 별도의 인증 절차 없이 바로 공격이 시작될 수 있음을 의미합니다. EPSS 0.99277이라는 높은 실측 확률과 KEV 등재 사실은 실제 악용 사례가 빈번히 보고되고 있음을 입증하며, 이론적 심각도와 무관하게 운영 환경에서 즉시 위협이 된다는 근거가 됩니다. 공격 표면은 Redis 서버가 외부에 노출된 TCP 포트(기본 6379)와 Lua 스크립트를 전송할 수 있는 EVAL/EVALSHA 명령어이며, 해당 명령어에 전달되는 스크립트 문자열이 바로 악용 파라미터가 됩니다. 초기 정찰 단계에서는 포트 스캔으로 Redis 서비스를 식별하고, 인증 없이 INFO 명령 등으로 버전 및 설정 정보를 획득합니다. 이후 공격자는 EVAL 명령을 이용해 제한된 Lua 샌드박스를 우회하는 페이로드를 삽입하면, 패키징 오류로 인해 시스템 레벨 명령 실행이 가능해져 원격 코드 실행(RCE) 단계에 도달합니다. 이 과정에서 별도의 권한 상승이나 추가 결함 체이닝 없이도 바로 임의 코드를 실행할 수 있기 때문에 난이도는 “easy”로 평가됩니다.

💥 영향 분석

  • Redis 서버가 실행 중인 호스트 전체에 임의 코드 실행 권한 부여 → redis 혹은 root 수준에서 시스템 명령 수행 가능.
  • 파일 시스템 조작, 서비스·크론 삽입 등 지속성 확보 → 재부팅 후에도 악성 행위 유지.
  • 내부 네트워크로 이동하여 다른 서비스 침해·데이터 탈취가 현실화.

🔗 관련 취약점·체이닝

  • CWE‑269 (Improper Privilege Management) – Redis 가 높은 권한으로 실행돼 쉘 명령을 직접 수행할 수 있음.
  • CWE‑20 (Improper Input Validation) – 외부 입력(EVAL 스크립트) 검증 부족으로 악성 Lua 코드가 그대로 실행됨.
  • 추정: 동일 호스트에 존재하는 다른 권한 상승 취약점(예: SUID 바이너리, kernel CVE) 과 연계하면 루트 권한을 확보하고 보다 정교한 지속성을 구축할 수 있음.

🔎 탐지

  • Redis 로그에 EVAL/SCRIPT LOAD 호출 시 debug, os.execute, io.popen 문자열이 포함된 경우 경보.
  • 프로세스 감시: redis-server 자식으로 /bin/sh, /usr/bin/python 등 외부 실행 파일 생성 시 알림.
  • 네트워크 흐름: Redis 서버가 비정상적으로 외부 IP(예: 80/443) 로 연결을 시도하는 트래픽 포착.

🛡️ 완화 방안

  • 즉시 조치 : apt-get update && apt-get install --only-upgrade redis 로 최신 패치를 적용하고, 방화벽으로 포트 6379 를 내부망에만 허용.
  • 구성 변경 – 위험 명령 비활성화: rename-command EVAL "", rename-command SCRIPT "" 혹은 ACL 로 접근 차단.
  • 격리 강화 – AppArmor/SELinux 프로파일 적용해 파일·네트워크 접근 최소화.
  • 장기 방어 – 자동 보안 업데이트 정책 활성화, 정기적인 Redis 설정·로그 감사 수행.

⚖️ 위험도 / 우선순위

  • 조치: immediate (지금 즉시(24h 내))
  • 근거: CVSS=10.0 · KEV · EPSS=0.99277 · exploit=easy · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

댓글 작성 은 로그인 후 이용할 수 있어요.

다른 사용자의 댓글은 자유롭게 읽을 수 있어요.

로그인하기

불러오는 중…