CVE-2026-94418 in wolfSSL정보

요약

\~에 의해 VulDB • 2026. 09. 27.

WOLFSSL_SMALL_CERT_VERIFY 설정 하에서 ProcessPeerCertParse()는 최대 메모리 사용량을 낮추기 위해 인증서 서명 검사를 파싱 작업과 별도로 실행한 후 두 결과를 병합합니다. 그러나 이 함수는 파싱이 0(성공)을 반환할 때만 서명 결과를 병합하므로, 모든 파싱 오류가 서명 검사 결과를 가리게 됩니다. ParseCertRelative()는 ConfirmSignature()가 성공적으로 통과된 후에야 유효 기간, 이름 제약 조건 및 중요 확장자 검사를 수행합니다. 따라서 서명 검사를 분리하면 "날짜 오류를 무시(override)"하는 정책의 우선순위가 뒤집어지며, ASN_SIG_CONFIRM_E 에러는 어디에서도 노출되지 않습니다. 공격자는 실제 PKI에서 키 자료를 얻거나 CA를 침해할 필요가 없습니다. 예상되는 주체 이름(trusted subject name), 신뢰된 CA의 주체를 발행자(issuer)로 지정하고 서명 필드에 임의 바이트를 넣으며, 과거 시점의 유효 기간과 공격자의 자체 키 쌍을 포함하는 자기서명 인증서만으로도 충분합니다.

영향을 받는 빌드는 WOLFSSL_SMALL_CERT_VERIFY가 정의되어 있습니다. 이 옵션은 기본적으로 꺼져 있으며, 어떤 플랫폼이나 프리셋 헤더에서도 암묵적으로 설정되지 않으며, CMake 옵션에서 접근할 수 없습니다. autotools 경로에서는 --enable-lowresource, --enable-leantls, --enable-tinytls13=cert 및 --enable-tinytls13=mutualauth를 통해 활성화됩니다. 또한 examples/configs/user_settings_embedded.h는 WC_CFG_SMALL_CERT_VERIFY를 통해 이 기능에 접근하며, 이는 기본값으로 0(비활성)입니다. --enable-all 또는 --enable-distro 옵션은 이를 전혀 활성화하지 않습니다.

애플리케이션은 wolfSSL_CTX_set_verify() 또는 wolfSSL_set_verify()를 사용하여 WOLFSSL_VERIFY_PEER 플래그와 함께 검증 콜백을 설치해야 하며, 이 콜백은 ASN_BEFORE_DATE_E 또는 ASN_AFTER_DATE_E에 대해 1(성공)을 반환해야 합니다. wolfSSL의 wolfssl/test.h에는 VERIFY_OVERRIDE_DATE_ERR 정의 하에 myVerify()라는 이름으로 이러한 형태의 콜백이 포함되어 있으며, examples/client -D 옵션에서 이를 선택합니다. 검증 콜백이 없거나 날짜 오류에 대해 preverify를 반환하는 애플리케이션은 여전히 핸드셰이크가 실패하며, wolfSSL_CertManagerVerifyBuffer() 및 wc_CheckCertSignature()는 동일한 바이너리 내에서 ASN_SIG_CONFIRM_E를 올바르게 보고합니다. TLS 1.2와 TLS 1.3 모두 양방향으로 영향을 받으며, DTLS도 동일한 함수에 도달합니다. 위조된 인증서가 체인 인증서일 경우 콜백의 승인으로 인해 WOLFSSL_CTX 인증서 관리자에 캐시되므로, 노출된 배포 환경에서는 단순히 재연결하는 대신 컨텍스트 또는 프로세스를 다시 시작해야 합니다.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

책임이 있는

wolfSSL

예약하다

2026. 09. 21.

모더레이션

수락

항목

VDB-410855

EPSS

0.00000

출처

Interested in the pricing of exploits?

See the underground prices here!