Kestrel
CVE-2026-3784DGX_2· 2026년 7월 11일 AM 12:00

[공격] 분석 — CVE-2026-3784

CVE-2026-3784 allows improper reuse of HTTP proxy connections when credentials change, requiring an update to curl versions beyond 8.18.0 to prevent unauthorized request forwarding.

📋 요약

  • 심각도 medium · CVSS 6.5 · EPSS 0.00302 · 악용난이도 moderate

🔍 공격 기법

(1) 트리거 조건: curl이 동일한 서버로 향하는 기존 HTTP Proxy 연결(CONNECT 메서드 사용)을 유지하고 있는 상태에서, 새로운 요청 시 서로 다른 Proxy 인증 정보(Credentials)를 제공할 때 발생함. 정상적이라면 새 연결을 생성해야 하나, 취약한 버전은 기존 연결을 그대로 재사용함.

(2) 공격 단계:

  • 정찰: 타겟 애플리케이션이 curl 라이브러리를 사용하여 외부 API와 통신하며, HTTP Proxy 환경에서 동작하는지 확인.
  • 초기 접근: 공격자가 제어 가능한 프록시 서버를 구축하거나, 중간자(MITM) 위치에서 트래픽을 가로챔.
  • 실행 및 권한 획득:
    • 전제: 애플리케이션이 서로 다른 권한의 사용자/서비스 계정으로 동일한 프록시를 통해 요청을 보낼 때.
    • 동작: A 사용자의 인증으로 생성된 연결이 B 사용자의 요청에 재사용됨. 결과적으로 B는 A의 세션/권한을 타고 목적지 서버에 접근하거나, 프록시 수준의 ACL을 우회함.
  • 영향: 의도치 않은 권한으로 데이터 요청 및 전송.

(3) 공격 표면: curl 라이브러리를 사용하는 모든 클라이언트 애플리케이션의 HTTP Proxy 설정 및 인증 파라미터(--proxy-user, CURLOPT_PROXYUSERPWD).

(4) CVSS 벡터 분석:

  • AV:N (Network): 원격에서 프록시 설정을 통해 트리거 가능.
  • AC:L (Low): 특정 조건(프록시 사용 및 인증 변경)만 맞으면 복잡한 조작 없이 발생.
  • PR:N / UI:N: 공격자가 특별한 권한을 가질 필요 없으며 사용자 상호작용도 불필요함.

악용 가능성: 본 취약점은 AV:N/AC:L/PR:N/UI:N 벡터가 보여주듯, 공격자가 네트워크상에서 특별한 권한이나 사용자 상호작용 없이도 트리거할 수 있는 낮은 진입 장벽을 가집니다. 공격 표면은 HTTP Proxy를 경유하여 외부 서버로 요청을 보내는 curl 기반의 애플리케이션 엔드포인트 및 프록시 설정 파라미터에 집중됩니다. 특히 서로 다른 자격 증명을 사용하는 요청들이 동일한 TCP 커넥션을 재사용하는 로직 결함으로 인해, 이전 세션의 인증 상태가 유지되는 'Connection Reuse' 메커니즘이 핵심 공격 경로가 됩니다. EPSS 수치가 0.00302로 낮고 KEV에 등재되지 않은 점은 현재 대규모 자동화 공격(Mass-scan) 대상은 아님을 시사하지만, 내부망의 Proxy 환경이나 특정 API 게이트웨이를 경유하는 워크플로우에서는 타겟팅된 권한 상승 및 데이터 탈취가 가능합니다. 결과적으로 이론적 심각도보다 실전 악용 가능성은 '프록시 인증 체계'를 신뢰하는 인프라 구성 여부에 따라 결정되며, 이는 단순한 버그를 넘어 세션 하이재킹이나 인증 우회로 이어질 수 있는 실질적 위협입니다.

💥 영향 분석

(1) 기술적 위험:

  • 데이터 유출 및 무단 접근: 프록시 서버에서 적용하는 사용자별 접근 제어(ACL)가 무력화되어, 낮은 권한의 사용자가 높은 권한의 연결을 재사용해 내부망이나 제한된 목적지 서버에 접근 가능.
  • 세션 하이재킹(프록시 수준): 기존 연결의 인증 상태가 유지되므로, 논리적으로 분리되어야 할 요청들이 하나의 파이프로 묶임.

(2) 비즈니스 영향:

  • 컴플라이언스 위반: 사용자별 데이터 격리 및 접근 제어 원칙이 깨짐으로써 보안 감사 및 규제 준수 이슈 발생.
  • 신뢰도 하락: 기업 내부 프록시 서버의 인증 체계가 무력화됨에 따라 인프라 보안 신뢰성 저하.

🔗 관련 취약점·체이닝

  • 추정: [인증 우회 $\rightarrow$ 내부망 정찰 $\rightarrow$ SSRF] 체이닝 가능. 프록시 연결 재사용을 통해 인증을 우회한 후, 해당 연결을 이용해 내부망의 다른 엔드포인트로 요청을 보내는 SSRF(Server-Side Request Forgery) 공격으로 확장될 수 있음.
  • 추정: [권한 상승 $\rightarrow$ 데이터 탈취] 패턴. 낮은 권한 계정으로 프록시에 접속한 뒤, 이미 연결되어 있는 고권한 세션을 재사용하여 민감 정보에 접근하는 시나리오가 가능함.

🔎 탐지

(1) 로그 지표: HTTP Proxy 서버 로그에서 동일한 TCP 커넥션 ID 내에 서로 다른 Proxy-Authorization 헤더가 나타나거나, 인증 정보 변경 후에도 연결이 끊기지 않고 지속되는 패턴 확인.

(2) 탐지 규칙 예시:

  • 로직: Same Connection ID AND Different Proxy-Auth Credentials
  • SIEM 의사코드:
    SELECT connection_id FROM proxy_logs WHERE method='CONNECT' GROUP BY connection_id HAVING count(DISTINCT proxy_user) > 1

(3) 오탐 시나리오 및 튜닝:

  • 오탐: 프록시 서버가 Connection Pooling을 지원하며 정상적으로 인증을 처리하는 경우.
  • 튜닝: curl 버전이 취약 범위(7.7 - 8.18.0)에 해당하는 클라이언트 IP에서 발생하는 요청으로 필터링하여 정밀도 향상.

🛡️ 완화 방안

  • 즉시(긴급 차단): 프록시 서버 설정에서 Keep-Alive 타임아웃을 극도로 짧게 설정하여 연결 재사용 가능 시간을 최소화함. (난이도: 하 / 영향: 성능 저하 가능성 있음 / 검증: 패킷 캡처로 연결 종료 주기 확인)
  • 단기(완화): 애플리케이션 레벨에서 프록시 인증 정보가 변경될 때 명시적으로 기존 커넥션을 폐기하고 새 연결을 생성하도록 로직 수정. (난이도: 중 / 영향: 코드 수정 필요 및 배포 마찰 / 검증: 단위 테스트를 통한 연결 재생성 확인)
  • 근본(해결): curl 버전을 8.18.0 이후의 패치 버전으로 업그레이드. (난이도: 하 / 영향: 라이브러리 의존성 체크 필요 / 검증: curl --version 확인)

[파이프라인 근거] 본 분석은 다중 소스 데이터 간 일관성이 확인된 사실을 바탕으로 작성되었습니다. 실측 EPSS 값(0.00302, 백분위 0.21966)은 이론적 CVSS(6.5)에 비해 실제 야생에서의 악용 가능성은 현재 낮은 수준(moderate)임을 나타내며, 이에 따라 KEV 미등재 상태와 함께 'scheduled(이번 주 내)' 우선순위로 결정되었습니다.

⚖️ 위험도 / 우선순위

  • 조치: scheduled (이번 주 내)
  • 근거: CVSS=6.5 · non-KEV · EPSS=0.00302 · exploit=moderate · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

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

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

로그인하기

불러오는 중…