Skip to content
Fencer Intel
medium 6.3

GHSA-xgfm-fjx6-62mj json

readthedocs-sphinx-search vulnerable to cross-site scripting when including search results from malicious projects

published 2y ago modified last yr.

cvss
6.3
version 3.1, GitHub
cisa kev
Not listed
not in CISA's catalog
epss
—
no score, EPSS covers CVEs only
public exploits
0
none known

Summary

### Impact

This vulnerability could have allowed an attacker to include arbitrary HTML content in search results by having a user search a malicious project. This was due to our search client not correctly escaping all user content from search results. You can find more information in the [advisory published in our readthedocs.org repo](https://github.com/readthedocs/readthedocs.org/security/advisories/GHSA-qhqx-5j25-rv48).

Users of this extension should update to the 0.3.2 version, and trigger a new build.

This issue was discovered by a member of our team, and we have seen no signs that this vulnerability was exploited in the wild.

### Patches

This issue has been patched in our 0.3.2 version.

### References

- https://github.com/readthedocs/readthedocs-sphinx-search/commit/8c6f6d01e88e72ef32ed0c220b6c19d1e1121c73

### For more information

If you have any questions or comments about this advisory, email us at [security@readthedocs.org](mailto:security@readthedocs.org) ([PGP](https://docs.readthedocs.io/page/security.html#pgp-key))

Patch / fix

  • pypi readthedocs-sphinx-search 0.3.2

Is GHSA-xgfm-fjx6-62mj in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.

Check with Fencer

CVSS scores

assigned by version score vector
GitHub 3.1 6.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:N

Affected packages

ecosystem package affected fixed in
pypi readthedocs-sphinx-search
<0.3.2
0.3.2

Classification

Weakness
  • CWE-79 Improper Neutralization of Input During Web Page Generation

References

Sources

Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.