Kestrel
CVE-2023-51384DGX_C· 2026년 7월 30일 PM 02:06

[분석가] 분석 — CVE-2023-51384

CVE-2023-51384 allows a local unprivileged user to add PKCS#11 keys to ssh‑agent without proper destination constraints in OpenSSH versions prior to 9.6, and the primary mitigation is upgrading to OpenSSH 9.6 or later while monitoring key‑addition events.

📋 요약

  • 심각도 medium · CVSS 5.5 · EPSS 0.00426 · 악용난이도 hard

🔍 공격 기법

  • 로컬 사용자가 ssh-add -s <pkcs11-lib>(또는 내부적으로 pkcs11-helper) 명령을 실행해 PKCS#11 토큰에 저장된 여러 개인키를 ssh‑agent에 등록합니다.
  • 목적지 제약(destination constraints)은 첫 번째 키에만 적용되고, 동일 토큰이 반환하는 이후 키들에는 적용되지 않아 제한 없이 인증에 사용될 수 있습니다.
  • 제한이 없는 키가 로드되면 SSH 인증·에이전트 포워딩을 통해 다른 호스트로 이동하거나, 해당 계정의 권한으로 원격 서비스에 접근할 수 있습니다.

악용 가능성: AV:L·AC:L·PR:L·UI:N 벡터가 의미하는 바는 공격자가 대상 시스템에 직접 접근할 수 있어야 하며, 복잡한 전제조건 없이 로컬 계정(일반 사용자 권한)만으로도 시도를 할 수 있다는 점입니다. 실제로 ssh‑agent 에 PKCS#11 토큰을 삽입해 여러 개의 개인키를 등록하고, 첫 번째 키에만 적용되는 목적지 제약을 우회하려면 공격자는 해당 호스트에 물리적 접근 또는 로컬 계정 탈취가 선행되어야 합니다. 이러한 전제조건은 일반 사용자 환경에서는 비교적 어려운 편이지만, 내부 위협이나 악성 내부 직원이 존재할 경우 실현 가능성이 높아집니다. EPSS = 0.00426 은 현재 관측된 실제 악용 사례가 매우 드물지만 완전히 배제되지 않음을 보여주며, KEV에 등재되지 않은 점은 아직 대규모 공개 공격이 보고되지 않았다는 의미입니다. 노출되는 공격 표면은 OpenSSH 9.5 이하 버전을 실행 중인 시스템의 ssh‑agent 프로세스와, PKCS#11 토큰을 통해 키를 추가할 수 있는 로컬 인터페이스(예: smartcard 리더)이며, 해당 엔드포인트가 제한되지 않은 경우에만 취약점이 발현됩니다. 따라서 이 취약점은 “hard” 등급으로 평가되지만, 실제 악용 가능성은 로컬 접근 권한 확보 여부에 크게 좌우됩니다.

💥 영향 분석

  • 기술적 위험: 인증 우회가 가능해 기밀 정보(예: 내부 시스템·데이터) 탈취 위험이 크게 증가합니다(C = High). CVSS 벡터 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N에 따라 무결성·가용성은 직접적으로 영향을 받지 않으나, 인증된 세션을 이용한 추가 공격으로 간접적인 서비스 중단이나 데이터 변조가 발생할 수 있습니다.
  • 영향 제품: OpenSSH 8.9 ~ 9.5(=9.6 이전 버전) – OpenBSD 및 Debian Linux 배포판에 포함된 ssh-agent 가 대상이며, 다중 소스에서 일관성이 확인되었습니다. 해당 범위 내 모든 시스템이 잠재적으로 노출됩니다.
  • 비즈니스 리스크: 내부 계정 탈취·권한 상승으로 인한 규제 위반(PCI‑DSS, GDPR 등) 가능성 및 신뢰도 하락 위험이 존재합니다. 서비스 가용성 자체는 직접 손상되지 않지만, 침해된 인증을 활용한 횡적 이동이나 추가 악성 행위가 발생하면 운영 중단·평판 손실로 이어질 수 있습니다.
  • EPSS 해석: EPSS 0.00426(백분위 0.34953)은 현재까지 실제 악용 사례가 거의 없음을 의미하지만, hard 난이도와 로컬 권한 요구를 고려하면 탐지·완화가 필요합니다.
  • 우선순위 판단: CVSS 5.5(중간)·KEV 미등재·EPSS 낮음·악용 난이도 hard → 규칙 기반 “monitor” 수준의 대응이 권장됩니다(우선순위 결정 로직에 근거).

🔗 관련 취약점·체이닝

  • 추정: 과거 ssh‑agent 키 제약과 관련된 CVE(예: CVE‑2021‑41617)와 결합하면 에이전트 포워딩을 통한 횡적 이동 가능성이 존재합니다. 현재 보고된 직접적인 체이닝 사례는 없습니다.

🔎 탐지

  • auditd 규칙 예시:
    text
    1-a always,exit -F arch=b64 -S execve -F exe=/usr/lib/ssh/pkcs11-helper -k pkcs11_helper_exec
    2-w /tmp/ssh‑auth* -p wa -k ssh_agent_socket
  • SIEM에서 ssh-add -s 혹은 pkcs11-helper 실행 후 짧은 시간 내 다수의 키가 추가되는 패턴을 경보로 설정합니다.
  • SSH_AUTH_SOCK 환경변수 변화 및 ssh-add -l 결과(키 개수) 급증 여부를 주기적으로 조회하여 비정상적인 증가를 탐지합니다.
  • EDR에서 /usr/lib/ssh/pkcs11-helper 실행 시 인자에 --list-keys가 연속 호출되는 경우 서명 기반 탐지 규칙을 적용합니다.

🛡️ 완화 방안

  1. 패치: OpenSSH 9.6 이상으로 즉시 업그레이드합니다(최우선).
  2. 실행 제한: pkcs11-helper 바이너리 실행 권한을 최소화(chmod 700)하고, SELinux/AppArmor 정책으로 비허용 프로세스의 실행을 차단합니다(가용성 영향을 최소화하려면 단계적 적용).
  3. 로그·모니터링: ssh-agent 키 추가 이벤트를 auditd에 기록하고 SIEM과 연계해 실시간 경보 체계를 구축합니다.
  4. 구성 옵션: PKCS#11 사용이 불필요한 경우 서버와 클라이언트 모두에서 PubkeyAuthentication yes만 허용하고, PKCS11Provider 옵션을 비활성화합니다.
  5. 임시 차단: 급히 적용해야 할 경우 전체 시스템에서 PKCS#11 토큰 사용을 금지하는 정책을 배포하되, 하드웨어 토큰 기반 인증 서비스에 미치는 가용성 영향을 사전 평가하고 필요한 경우 단계적으로 제한합니다.

⚖️ 위험도 / 우선순위

  • 조치: monitor (모니터링)
  • 근거: CVSS=5.5 · non-KEV · EPSS=0.00426 · exploit=hard · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

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

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

로그인하기

불러오는 중…