부적절한 입력 유효성 검사, Apache Camel DNS 구성 요소의 SSRF(서버측 요청 위조) 취약점. camel-dns 생산자는 상수 값(DnsConstants.DNS_SERVER, DNS_NAME, DNS_DOMAIN, DNS_TYPE, DNS_CLASS, TERM)이 일반 문자열 dns.server, dns.name, dns.domain, dns.type, dns.class 및 term인 Exchange 메시지 헤더에서 DNS 작업 매개변수(쿼리할 확인자, 조회할 이름 또는 도메인, 레코드 유형 및 클래스, 검색어)를 읽습니다. 왜냐하면 이 이름들은
부적절한 입력 유효성 검사, Apache Camel DNS 구성 요소의 SSRF(서버측 요청 위조) 취약점.
camel-dns 생산자는 상수 값(DnsConstants.DNS_SERVER, DNS_NAME, DNS_DOMAIN, DNS_TYPE, DNS_CLASS, TERM)이 일반 문자열 dns.server, dns.name, dns.domain, dns.type, dns.class 및 term인 Exchange 메시지 헤더에서 DNS 작업 매개변수(쿼리할 확인자, 조회할 이름 또는 도메인, 레코드 유형 및 클래스, 검색어)를 읽습니다. 이러한 이름은 Camel/camel 접두사로 시작하지 않기 때문에 HTTP 경계에서 Camel 헤더 네임스페이스만 차단하는 HttpHeaderFilterStrategy가 인바운드 HTTP 요청에서 Exchange로 직접 전달되도록 합니다. HTTP 소비자(예: platform-http)를 dns: 생산자로 연결하는 경로에서 모든 HTTP 클라이언트는 dns.server 헤더를 설정하여 발굴 생산자가 공격자가 제어하는 DNS 서버를 가리키는 SimpleResolver(DNS를 통한 서버 측 요청 위조)를 구축하도록 할 수 있습니다. 이를 통해 공격자는 쿼리된 이름을 관찰하고 유해한 응답을 반환할 수 있습니다. 그리고 dns.name / dns.domain 헤더를 설정하여 임의의 내부 호스트 이름을 확인하고 존재 여부를 공개할 수 있습니다. (내부 네트워크 정찰). 브리징 소비자가 인증되지 않은 경우에는 자격 증명이 필요하지 않습니다. 이 문제는 Apache Camel 4.0.0 이전 4.14.8, 4.15.0 이전 4.18.3, 4.19.0 이전 4.21.0에 영향을 미칩니다.
사용자는 문제를 해결하는 버전 4.21.0으로 업그레이드하는 것이 좋습니다. 사용자가 4.14.x LTS 릴리스 스트림을 사용하는 경우 4.14.8로 업그레이드하는 것이 좋습니다. 사용자가 4.18.x 릴리스 스트림을 사용하는 경우 4.18.3으로 업그레이드하는 것이 좋습니다. 업그레이드 후 원시 헤더 이름을 통해 DNS 작업을 구동하는 경로는 dns.* / 용어 이름 대신 CamelDnsServer / CamelDnsName / CamelDnsDomain / CamelDnsType / CamelDnsClass / CamelDnsTerm을 사용해야 합니다. 즉시 업그레이드할 수 없는 배포의 경우 dns: 생산자 앞의 신뢰할 수 없는 수신에서 dns.* 및 용어 헤더를 제거하고 경로의 신뢰할 수 있는 소스에서 DNS 서버 및 조회 매개 변수를 설정합니다.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 91.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 91.00 |
VPI 공식 vpi-v1 기준