CVE-2026-19553
SSLContext.wrap_bio()의 server_hostname 매개변수 검증 누락
- 게시됨
- 2026. 9. 30.
- 업데이트됨
- 2026. 9. 30.
- CNA 할당 중
- PSF
- 증거 관찰됨
- 2026. 10. 2.
기본 CVSS
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X요약
ssl.SSLContext.wrap_bio()는 ssl.SSLContext.check_hostname이 설정된 경우 server_hostname 인수가 None이 아니어야 한다고 요구하지 않았습니다. SSLObject의 매개변수 검사 누락으로 인해 server_hostname 인수가 제공되지 않으면 호스트 이름 검증이 조용히 건너뛰어졌습니다. 이 결함은 SSLContext.check_hostname = True로 설정하고 잘못된 구성으로 인해 ValueError가 발생하지 않아 인증서 호스트 이름 검증이 *성공하는 것처럼* 보이는 프로그램으로 이어질 수 있습니다. 프로그램이 이 API 중 하나에 빈 문자열이나 None이 아닌 server_hostname 값을 전달하면 인증서 호스트 이름 검증이 예상대로 진행되며 프로그램은 이 취약점의 영향을 받지 않습니다. 이 취약점을 완화하기 위해 Python을 업데이트하거나 패치를 적용할 필요는 없습니다. 완화하려면 SSLContext.wrap_bio(), asyncio.create_connection() 또는 asyncio.loop.start_tls()에 유효한 non-None 및 non-empty server_hostname 값을 전달하면 인증서 호스트 이름 검증이 예상대로 진행됩니다. 최신 버전의 Python으로 업그레이드하거나 패치를 적용하면 server_hostname이 제공되지 않을 때 호스트 이름 검증을 조용히 건너뛰는 동작이 SSLContext.wrap_socket()과 유사하게 ValueError를 발생시키는 것으로 변경될 뿐입니다.
소스
CVE-2026-19553을 재현하는 개념 증명(Proof-of-concept) 랩으로, CPython의 ssl.SSLContext.wrap_bio()가 server_hostname이 None일 때 TLS 호스트 이름 검증을 조용히 건너뛰는 취약점을 다룹니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.