GitHub Advisoryadvisory · npm
GHSA-w765-jm6w-4hhj Webrecorder packages are vulnerable to XSS through 404 error handling logic
HIGH
Official page ↗
- Aliases
- CVE-2025-58765
- Ecosystem
- npm
- Packages
- @webrecorder/wabac, replaywebpage, @webrecorder/archivewebpage
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L
- Weaknesses
- CWE-79
- Reviewed
- 2025-09-10
Affected packages
• npm @webrecorder/wabac: < 2.23.11 → fixed in 2.23.11
• npm replaywebpage: < 2.3.17 → fixed in 2.3.17
• npm @webrecorder/archivewebpage: < 0.15.4 → fixed in 0.15.4
Description
A Reflected Cross-Site Scripting (XSS) vulnerability exists in the 404 error handling logic of wabac.js v2.23.10 and below. The parameter `requestURL` (derived from the original request target) is directly embedded into an inline `` block without sanitization or escaping.
This allows an attacker to craft a malicious URL that executes arbitrary JavaScript in the victim’s browser.
The scope may be limited by CORS policies, depending on the situation in which wabac.js is used.
Patches
The vulnerability is fixed in wabac.js v2.23.11.
Related
Alias · CVE (1)
- CVE-2025-58765 wabac.js provides a full web archive replay system, or 'wayback machine', using Service Workers. vulnerability
Weakness · CWE (1)
- CWE-79 Improper Neutralization of Input During Web Page Generation weakness
References
- https://github.com/webrecorder/wabac.js/security/advisories/GHSA-w765-jm6w-4hhj web
- https://nvd.nist.gov/vuln/detail/CVE-2025-58765 advisory
- https://github.com/webrecorder/archiveweb.page/pull/315 web
- https://github.com/webrecorder/replayweb.page/pull/448 web
- https://github.com/webrecorder/wabac.js/commit/25feb4a5af69a6b65694426eae67b890be438c4c web
- https://github.com/webrecorder/replayweb.page/releases/tag/v2.3.17 web
- https://github.com/webrecorder/wabac.js package
- https://github.com/webrecorder/wabac.js/releases/tag/v2.23.11 web