CVE-2026-19553 in Python
요약
\~에 의해 VulDB • 2026. 09. 30.
ssl.SSLContext.wrap_bio()는 ssl.SSLContext.check_hostname이 설정된 경우에도 server_hostname 인수가 None이 아니어야 한다는 요구사항을 충족하지 않았습니다. SSLObject에서 누락된 매개변수 검사로 인해, 만약 server_hostname 인수가 제공되지 않으면 호스트명 검사가 묵시적으로 건너뛰어집니다.
이 결함으로 인해 certificate hostname verification가 ssl.SSLContext.check_hostname = True이고 ValueError가 발생하지 않는 상황에서 성공한 것처럼 *보일* 수 있는 프로그램들이 발생할 수 있습니다(이는 구성 오류로 인한 것입니다).
프로그램이 이러한 API 중 하나에 빈 문자열("")이나 None이 아닌 server_hostname 값을 전달하는 경우, certificate hostname verification는 예상대로 진행되며 해당 취약점의 영향을 받지 않습니다.
이 취약점을 완화하려면 Python을 업데이트하거나 패치를 적용할 필요가 없습니다. SSLContext.wrap_bio(), asyncio.create_connection() 또는 asyncio.loop.start_tls()에 유효한 비-None 및 비-empty server_hostname 값을 전달하면, certificate hostname verification가 예상대로 진행됩니다. 최신 버전의 Python으로 업그레이드하거나 패치를 적용하는 것은 server_hostname이 제공되지 않았을 때 ssl.SSLContext.wrap_socket()과 유사하게 호스트명 검사를 묵시적으로 건너뛰는 대신 ValueError를 발생시키는 동작 변경만 가져옵니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.