🇰🇷 한글 설명
W3C XML Signature Syntax and Processing(XMLDsig) 설계 결함으로 인해 HMAC 출력 길이를 정의하는 매개변수에 최소 길이 제한이 없습니다. 공격자는 이 길이를 매우 작게 설정하여 HMAC 기반 서명을 위조하고 인증을 우회할 수 있습니다.
💡 쉬운 설명
디지털 서명의 길이를 아주 짧게 설정할 수 있는 허점이 있어, 가짜 서명을 진짜처럼 속일 수 있는 문제입니다. 이를 통해 공격자가 시스템의 인증 과정을 통과하여 권한을 획득할 수 있습니다.
🇺🇸 원문 (English)
The design of the W3C XML Signature Syntax and Processing (XMLDsig) recommendation, as implemented in products including (1) the Oracle Security Developer Tools component in Oracle Application Server 10.1.2.3, 10.1.3.4, and 10.1.4.3IM; (2) the WebLogic Server component in BEA Product Suite 10.3, 10.0 MP1, 9.2 MP3, 9.1, 9.0, and 8.1 SP6; (3) Mono before 2.4.2.2; (4) XML Security Library before 1.2.12; (5) IBM WebSphere Application Server Versions 6.0 through 6.0.2.33, 6.1 through 6.1.0.23, and 7.0 through 7.0.0.1; (6) Sun JDK and JRE Update 14 and earlier; (7) Microsoft .NET Framework 3.0 through 3.0 SP2, 3.5, and 4.0; and other products uses a parameter that defines an HMAC truncation length (HMACOutputLength) but does not require a minimum for this length, which allows attackers to spoof HMAC-based signatures and bypass authentication by specifying a truncation length with a small number of bits.
📍 영향받는 시스템
Oracle Application Server, BEA WebLogic Server, Mono, XML Security Library, IBM WebSphere, Sun JDK/JRE, Microsoft .NET Framework 등
⚔️ 공격 벡터
XML 서명 시 HMAC 출력 길이를 매우 작은 값으로 지정하여 서명 검증을 우회하는 방식
🛡️ 대응 방법
해당 소프트웨어들을 최신 보안 패치가 적용된 버전으로 업데이트하거나 XMLDsig 구현 시 최소 길이 제한을 적용해야 함
🔧 검증 코드
출력된 결과에서 취약한 버전(예: Sun JDK 14 이하 또는 .NET 3.5/4.0 등)이 포함되어 있는지 확인
java -version || dotnet --info || java -version 2>&1 | grep -E '1\.4|1\.5|1\.6'
📊 CVSS Vector String
AV:N/AC:L/Au:N/C:N/I:P/A:N
💻 영향받는 소프트웨어
IBM WebSphere Application Server