BomboBombone.exe
ARCHITECTURE:x86-64
BACK
.TEXTXenForo / XSS
08 Sept 2026 · 3 min
XenForo / XSS · 08 Sept 2026

CVE-2026-73319: JavaScript URI in dynamic redirects

XenForo accepted a same-host javascript URI and assigned it to window.location.

POST VIEWTEXT / UTF-8

XenForo’s redirect validator compared the host and accepted every URL scheme. A crafted javascript: URL looked same-hosted to PHP and executable to the browser.

The payload I used was:

javascript://board.example/%0Awindow.name='marker';void 0

Two parsers, two interpretations

PHP parsed board.example as the host, so XenForo’s same-host check accepted the string. The browser handled everything after // as a JavaScript comment. %0A ended that comment, and the remaining code ran when XenForo assigned the value to window.location.

The validator already rejected a different host, raw newlines, and user-info tricks using @. None of those checks dealt with the scheme at the start of the URL.

I reached the redirect through XenForo’s public Follow confirmation flow. Anyone could prepare the link. Script execution followed when a logged-in user opened it and confirmed the action.

The public PoC serves the crafted Follow URL from a one-request redirector and uses window.name to show that the script ran.

XenForo limited the accepted schemes in 2.3.13.

MEASURING VISUAL LINES… ADDRESSES ARE UTF-8 BYTE OFFSETS

Resize column

Choose a width with the slider or the narrower and wider buttons.