🇰🇷 한글 설명
Hono 웹 애플리케이션 프레임워크의 cx() 함수가 입력된 문자열을 HTML 이스케이프 처리 없이 이미 이스케이프된 것으로 잘못 처리하는 취약점이 발견되었습니다. 이로 인해 서버 측 렌더링 시 JSX class 속성에 사용된 신뢰할 수 없는 값이 속성을 탈출하여 임의의 마크업을 주입할 수 있습니다.
💡 쉬운 설명
웹사이트의 디자인을 결정하는 이름표(클래스명)에 악성 코드를 섞어 넣을 수 있는 보안 약점입니다. 공격자가 이를 이용하면 웹사이트 화면에 원치 않는 내용을 강제로 끼워 넣을 수 있습니다.
🇺🇸 원문 (English)
Hono is a Web application framework that provides support for any JavaScript runtime. From 4.0.0 before 4.12.27, cx() in hono/css composes class names from plain strings but marks the result as already escaped without HTML-escaping the input, allowing untrusted className values used in a JSX class attribute during server-side rendering to break out of the attribute and inject arbitrary markup. This issue is fixed in version 4.12.27.
📍 영향받는 시스템
Hono framework version 4.0.0 to 4.12.26
⚔️ 공격 벡터
서버 측 렌더링 과정에서 검증되지 않은 className 값을 JSX 속성에 주입하여 HTML 마크업을 삽입하는 방식
🛡️ 대응 방법
Hono 프레임워크를 최신 버전인 4.12.27 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 4.12.27 미만(4.0.0 ~ 4.12.26)인지 확인하여 취약 여부를 판단합니다.
npm list hono | grep hono
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
💻 영향받는 소프트웨어
IBM WebSphere Application Server