🔍 CVE-2026-41081

6.5
CVSS Score
MEDIUM
2026-04-27
2026-06-17 10:46
✅ 완료

🇰🇷 한글 설명

Apache Storm에서 TLS 클라이언트 인증 실패 시 오류를 무시하고 'CN=ANONYMOUS'라는 익명 주체를 할당하는 취약점입니다. 이로 인해 인증되지 않은 사용자가 유효한 신원을 부여받아 권한 설정이 미흡한 환경에서 서비스에 무단 접근할 수 있습니다.

💡 쉬운 설명

인증서가 없거나 잘못된 사용자가 접속했을 때, 시스템이 접속을 차단하는 대신 '익명 사용자'라는 이름표를 붙여 통과시켜주는 문제입니다. 이로 인해 허가되지 않은 사람이 시스템 내부 데이터에 접근할 위험이 있습니다.

🇺🇸 원문 (English)

Improper Handling of TLS Client Authentication Failure Leading to Anonymous Principal Assignment in Apache Storm Versions Affected: up to 2.8.7 Description: When TLS transport is enabled in Apache Storm without requiring client certificate authentication (the default configuration), the TlsTransportPlugin assigns a fallback principal (CN=ANONYMOUS) if no client certificate is presented or if certificate verification fails. The underlying SSLPeerUnverifiedException is caught and suppressed rather than rejecting the connection. This fail-open behavior means an unauthenticated client can establish a TLS connection and receive a valid principal identity. If the configured authorizer (e.g., SimpleACLAuthorizer) does not explicitly deny access to CN=ANONYMOUS, this may result in unauthorized access to Storm services. The condition is logged at debug level only, reducing visibility in production. Impact: Unauthenticated clients may be assigned a principal identity, potentially bypassing authorization in permissive or misconfigured environments. Mitigation: Users should upgrade to 2.8.7 in which TLS authentication failures are handled in a fail-closed manner. Users who cannot upgrade immediately should: - Enable mandatory client certificate authentication (nimbus.thrift.tls.client.auth.required: true) - Ensure authorization rules explicitly deny access to CN=ANONYMOUS - Review all ACL configurations for implicit default-allow behavior

📍 영향받는 시스템

Apache Storm versions up to 2.8.7

⚔️ 공격 벡터

인증서 없이 TLS 연결을 시도하여 익명 주체(CN=ANONYMOUS)를 할당받은 후 권한 검증을 우회하여 접근

🛡️ 대응 방법

Apache Storm을 2.8.7 버전 이상으로 업그레이드하거나, 클라이언트 인증을 필수(nimbus.thrift.tls.client.auth.required: true)로 설정하십시오.

🔧 검증 코드

명령어 결과에 2.8.7 미만의 버전이 나타나면 해당 취약점에 노출된 상태입니다.

Shell / Script
storm version 2>/dev/null | grep -E '2\.[0-8]\.'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

💻 영향받는 소프트웨어

IBM Verify Identity Access