🇰🇷 한글 설명
AngleSharp 1.5.0 미만 버전에서 MathAnnotationXmlElement의 인코딩 속성이 특정 값일 때 HTML 통합 지점으로 올바르게 처리되지 않는 취약점이 발견되었습니다. 이로 인해 산출된 DOM이 브라우저와 달라지는 네임스페이스 차이가 발생하며, 공격자는 이를 악용하여 뮤테이션 XSS(mXSS) 공격을 수행할 수 있습니다.
💡 쉬운 설명
웹사이트의 코드를 분석하는 도구가 실제 브라우저와 다르게 코드를 해석하여 보안 검사를 우회하는 문제입니다. 공격자가 특수하게 조작된 코드를 보내면, 보안 필터는 안전하다고 판단하지만 브라우저에서는 악성 스크립트가 실행될 수 있습니다.
🇺🇸 원문 (English)
AngleSharp is a .NET library for parsing angle bracket based hyper-texts. Prior to 1.5.0, MathAnnotationXmlElement in AngleSharp/Mathml/Dom/Internal/MathAnnotationXmlElement.cs is not treated as an HTML integration point when its encoding attribute is text/html or application/xhtml+xml, causing Consume in AngleSharp/Html/Parser/HtmlDomBuilder.cs to route tokens through foreign-content parsing instead of HTML parsing. A sanitizer can therefore observe a different DOM from the browser that reparses the serialized output. An attacker can combine this namespace differential with markup-breaking characters in an attribute value so that an element hidden from the sanitizer becomes active script-capable HTML after browser reparse, resulting in mutation cross-site scripting. This issue is fixed in version 1.5.0.
📍 영향받는 시스템
AngleSharp 버전 1.5.0 미만
⚔️ 공격 벡터
인코딩 속성을 이용한 네임스페이스 차이를 유발하여 브라우저 재해석 시 스크립트가 실행되도록 하는 mXSS 공격
🛡️ 대응 방법
AngleSharp 라이브러리를 1.5.0 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 AngleSharp의 버전이 1.5.0 미만인지 확인하십시오.
dotnet list package | grep AngleSharp