GitHub Security Lab traced CVE-2026-73295 to the optional search suggestions in Material for MkDocs, a theme for documentation websites. A crafted search link could turn visitor-controlled text into JavaScript running under the documentation site’s identity.
The October 22 technical report explains an issue already fixed in July. The maintainer advisory lists 7.2.0 through 9.7.6 as affected and 9.7.7 as patched.
A static site can still execute untrusted input
The browser read the search query from the link’s q parameter. The suggestion component later inserted text derived from that query into the page as HTML, without escaping it.
That creates cross-site scripting, where attacker-controlled input becomes code in a trusted website. The documentation server can remain entirely static while its browser-side JavaScript creates the vulnerability.
The affected feature is search.suggest. The maintainer advisory requires user interaction; this is not a claim that every visit to every MkDocs website executes attacker code.
Exposure depends on the site’s origin
A visitor must follow a crafted link to an affected site with suggestions enabled. Code then runs under that site’s origin, the browser boundary defined by protocol, hostname and port.
GitHub Security Lab describes access to same-origin browser storage, readable cookies and requests. A trusted documentation page could also display an attacker-controlled login prompt.
The consequences depend on the deployment. Documentation sharing an origin with an authenticated application can expose more authority than a separate, public documentation host. Cookie scope and browser protections still constrain what the script can read.
Exploitation status: a research finding manually verified by Peter Stöckli. Neither reviewed advisory reports confirmed attacks against deployed documentation sites.
Upgrade, rebuild and redeploy
- Upgrade Material for MkDocs to 9.7.7 or a later release containing the fix. Check the version used by the documentation build, including pinned dependencies and build images.
- Rebuild and redeploy the documentation. Upgrading a build dependency leaves previously generated JavaScript unchanged until the published assets are replaced.
- If an upgrade must wait, disable
search.suggestand redeploy. This is the maintainer’s documented workaround. - Review shared-origin assumptions. Static documentation is browser-executed software; hosting it beside an authenticated application can increase a scripting flaw’s impact.
GitHub’s timeline says the issue was reported on July 16, with a fix released on July 19. The maintainer advisory displays July 17 as its publication date. These are separate source dates; October’s analysis is not a new patch release.
GitHub credits its Security Lab Taskflow Agent with discovery under Project Glasswing, followed by manual verification. GitHub supplies the research and hosts the advisory; the model-assisted workflow is context, not evidence of widespread exploitation.
Caveat: the reports establish a vulnerable feature and a fix, but give no measured count of affected sites or compromised visitors.