🇰🇷 한글 설명
MatchTrustedPeer 함수가 사용된 공개 키를 무시하여 위조된 CA 클론이 검증을 통과할 수 있는 취약점입니다. WOLFSSL_TRUST_PEER_CERT 매크로가 활성화되고 특정 API를 통해 CA 인증서를 로드하는 환경에서 발생하며, 특히 OpenSSL 호환 모드가 설정된 경우 영향 범위가 확대됩니다.
💡 쉬운 설명
인증서가 진짜인지 확인하는 과정에서 중요한 열쇠(공개 키)를 제대로 검사하지 않는 결함이 발견되었습니다. 이로 인해 공격자가 가짜 인증서를 만들어 마치 신뢰할 수 있는 서버인 것처럼 속일 수 있습니다.
🇺🇸 원문 (English)
MatchTrustedPeer ignores the public key used, leading to forged CA clones passing verification. Affected builds are any that enable the macro WOLFSSL_TRUST_PEER_CERT and load CA certificates with wolfSSL_CTX_trust_peer_cert() or wolfSSL_trust_peer_cert(). The peer must know the certificates being loaded to either of those APIs to take advantage of the issue. When OPENSSL_COMPATIBLE_DEFAULTS is also defined this widens the affected API to include all CA certificate loading. Both macros are defined when using autoconf builds such as (nginx, haproxy, stunnel, wpas, apache httpd, hitch, bind, rsyslog, ffmpeg, all, distro). When the certificate is listed as a trusted peer certificate the issue previously allowed for a malicious (D)TLS server to bypass authentication once knowing which CA’s the client would accept. This also affects mutual authentication cases where the client knows which CA’s the server has loaded. If building with any of these configurations and using (D)TLS where the loaded CA’s could be known and authentication of the peer is desired, users should either: update to the latest wolfSSL version, apply the fix patch, or use the configure flag --disable-openssl-compatible-defaults and not load CA’s with wolfSSL_CTX_trust_peer_cert() or wolfSSL_trust_peer_cert() to mitigate the issue.
📍 영향받는 시스템
WOLFSSL_TRUST_PEER_CERT가 활성화된 wolfSSL 빌드 (nginx, haproxy, apache httpd, ffmpeg 등 포함)
⚔️ 공격 벡터
클라이언트가 신뢰하는 CA 정보를 알고 있는 공격자가 위조된 (D)TLS 인증서를 사용하여 인증을 우회함
🛡️ 대응 방법
최신 버전의 wolfSSL로 업데이트하거나, 패치를 적용하거나, --disable-openssl-compatible-defaults 플래그를 사용하여 완화 조치 수행
🔧 검증 코드
설치된 wolfSSL의 버전을 확인하여 취약점이 해결된 최신 버전인지 대조하십시오.
wolfssl_version_cmd=$(wolfssl_version_command 2>/dev/null || echo 'not installed'); echo $wolfssl_version_cmd