
CVE-2025-49223에 대한 개념 증명으로, billboard.js의 generate 함수를 통한 프로토타입 오염을 시연하여 임의 코드 실행 또는 서비스 거부를 가능하게 합니다.
3.15.1 이전의 billboard.js에서
generate함수를 통한 프로토타입 오염(prototype pollution) 취약점이 발견되었으며, 공격자가 임의의 속성을 주입하여 임의 코드를 실행하거나 서비스 거부(DoS)를 유발할 수 있습니다.
이 저장소는 billboard.js의 3.15.1 이전 버전에서 발견되어 CVE-2025-49223으로 공개된 프로토타입 오염(Prototype Pollution) 취약점을 시연합니다.
<= 3.14.0>= 3.15.1index.html<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/billboard.pkgd.min.js"></script>
{
["__proto__"]: https://raw.githubusercontent.com/louay-075/cve-2025-49223-billboardjs-poc/main/%7B
polluted: "polluted_via_string_key"
}
}
🔥 string key '__proto__' -> POLLUTED! Value: polluted_via_string_key
이로써 공격자가 Object.prototype을 오염시킬 수 있으며, 페이지 전체에서 이후 생성되는 모든 객체에 영향을 미칠 수 있음이 확인됩니다.
성공적으로 악용될 경우 다음과 같은 결과가 초래될 수 있습니다:
billboard.js를 3.15.1 이상 버전으로 업그레이드하세요.⚠️ 고지사항: 이 PoC는 교육 및 연구 목적으로만 제공됩니다. 책임 있게 사용하세요.