CVE-2026-83539 in Wicket정보

요약

\~에 의해 VulDB • 2026. 11. 01.

Apache Wicket의 웹 페이지 생성 중 입력 비활성화 부재(org.apache.wicket.extensions.markup.html.basic.SmartLinkLabel 및 org.apache.wicket.extensions.markup.html.basic.SmartLinkMultiLineLabel)로 인해 발생하는 취약점입니다. 이 두 컴포넌트는 텍스트 값을 표시하고 그 안에 포함된 URL을 하이퍼링크로 변환합니다. 모델 값은 이스케이프 처리된 후, 일치하는 항목을 `<a>` 태그의 href 속성으로 복사하여 감싸는 org.apache.wicket.extensions.markup.html.basic.DefaultLinkParser에 전달됩니다. 이 패턴은 모든 스킴(scheme)을 허용하며, 경로 상에서 허용되는 스키마 목록이 없습니다. 따라서 스크립트를 실행하는 스킴을 명명한 텍스트 값은 애플리케이션의 출처와 사용자의 세션 내에서 해당 스크립트를 실행하는 하이퍼링크가 됩니다(사용자가 링크를 클릭할 때). 페이지 렌더링만으로는 충분하지 않으며, 링크가 활성화되어야 합니다. 이스케이프 처리로는 이를 방지할 수 없으며 이것이 문제의 핵심도 아닙니다: 페이로드에 필요한 문자는 모두 URL에서 유효하며 org.apache.wicket.util.string.Strings#escapeMarkup() 메서드가 변경하지 않는 문자들입니다. 또한 값은 요소 텍스트 대신 URL 내에 위치하므로, 모델 데이터를 이스케이프 처리하는 것은 이 컨텍스트에서 안전을 보장하지 않습니다.

이 두 컴포넌트 중 하나를 통해 수신한 텍스트를 렌더링하는 애플리케이션이 영향을 받습니다. 이러한 컴포넌트의 존재 목적은 애플리케이션이 표시하는 데이터 내에서 이메일 주소 및 웹 URL을 하이퍼링크로 변환하는 것이므로, 신뢰할 수 없는 입력(untrusted input)은 기능의 오용이 아닌 의도된 사용 사례이며 특별한 구성 변경도 필요하지 않습니다. 다른 컴포넌트는 이 파서를 사용하지 않으며, SmartLinkLabel과 SmartLinkMultiLineLabel 중 하나라도 사용하지 않는 애플리케이션은 영향을 받지 않습니다.

9.x 및 10.x 버전에서 Wicket이 기본적으로 전송하는 Content-Security-Policy는 nonce가 있는 소스에서만 스크립트 실행을 허용합니다. 따라서 스크립트를 실행하는 스킴을 가진 URL은 nonce를 포함할 수 없으므로, 기본 정책은 스크립트의 실행을 차단합니다. 이는 컴포넌트가 아닌 기본 정책의 속성입니다. 이 이유나 기타 관련 없는 이유로 Content-Security-Policy가 약화되거나 비활성화된 애플리케이션은 전체적으로 영향을 받습니다. Wicket 8.x는 Content-Security-Policy 지원을 전혀 제공하지 않으므로 현재 상태로 인해 영향을 받습니다.

이 이슈는 Apache Wicket의 다음 버전에서 발생합니다: 8.0.0부터 8.19.0까지, 9.0.0부터 9.24.0까지, 10.0.0부터 10.11.0까지. 더 이상 지원되지 않는 Apache Wicket 7.x 또는 그 이전 버전을 사용하는 사용자는 지원되는 버전으로 업그레이드해야 합니다. 이슈를 수정하는 8.20.0, 9.25.0 또는 10.12.0 버전으로 업그레이드할 것을 권장합니다.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

책임이 있는

Apache

예약하다

2026. 08. 31.

모더레이션

수락

항목

VDB-429683

EPSS

0.00000

출처

Do you need the next level of professionalism?

Upgrade your account now!