🇰🇷 한글 설명
Laravel용 풀스택 프레임워크인 Livewire의 특정 버전에서 쿼리 스트링 파서가 __proto__, constructor, prototype과 같은 경로를 허용하여 상속된 객체를 생성하는 취약점이 발견되었습니다. 공격자가 조작된 URL을 통해 사용자의 브라우저에서 임의의 자바스크립트를 실행할 수 있는 클라이언트 측 XSS 취약점입니다. 이 문제는 사용자의 상호작용이 필요하며, 서버 측 권한을 우회하거나 권한을 상승시키지는 않습니다.
💡 쉬운 설명
웹사이트 주소에 특수한 코드를 섞어 보내면, 사용자가 그 링크를 클릭했을 때 해커가 원하는 악성 스크립트가 실행될 수 있는 보안 약점입니다. 사용자가 의심스러운 링크를 클릭하지 않도록 주의해야 하며, 서비스 관리자는 소프트웨어를 최신 버전으로 업데이트해야 합니다.
🇺🇸 원문 (English)
Livewire is a full-stack framework for Laravel. From 3.0.0-beta.1 until 3.8.3 and 4.3.4, the dot-notated query-string parser in js/plugins/history/index.js, including fromQueryString() and insertDotNotatedValueIntoData(), accepts the __proto__, constructor, and prototype path segments and creates inherited objects. Client-side state handlers then access effects.html, effects.js, effects.xjs, and effects.scripts without Object.prototype.hasOwnProperty.call(), allowing inherited attacker-controlled state to be treated as trusted effects. An unauthenticated attacker can craft a URL that, when opened by a user, executes arbitrary JavaScript in the affected application's origin. Exploitation requires user interaction and does not bypass server-side authorization or grant privileges beyond the affected user. This issue is fixed in versions 3.8.3 and 4.3.4.
📍 영향받는 시스템
Livewire 3.0.0-beta.1 ~ 3.8.3 및 4.3.4 미만 버전
⚔️ 공격 벡터
조작된 쿼리 스트링이 포함된 URL을 사용자에게 클릭하도록 유도하는 방식 (Client-side XSS)
🛡️ 대응 방법
Livewire를 버전 3.8.3 또는 4.3.4 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 3.8.3 또는 4.3.4보다 낮은지 확인하여 취약 여부를 판단합니다.
composer show livewire/livewire | grep 'versions'
💻 영향받는 소프트웨어
IBM WebSphere Application Server