Wagtail: Identification of documents by SHA1 hash
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- —
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub.
Summary
### Impact By passing specific HTTP headers to the document serve URL endpoint, an attacker was able to determine whether a document with a given ID matched a specified SHA1 hash, regardless of any permission restrictions on the document or knowing its filename. This could allow an attacker to determine whether a document with a specific known hash is present in the Wagtail document library. This vulnerability does not expose the document's contents or any metadata beyond the already known SHA1 hash, and does not expose information about any documents for which the attacker does not know the SHA1 hash. ### Patches Patched versions have been released as Wagtail 7.0.9, 7.3.4, 7.4.3 and 8.0rc2. ### Workarounds Site owners who are unable to upgrade can strip `If-Match` and `If-None-Match` from anonymous requests to `/documents/` at the reverse proxy, or use a custom document model without a `file_hash` attribute. ### Acknowledgements Many thanks to Anand Himanshu for reporting this issue. ### For more information If you have any questions or comments about this advisory: * Visit Wagtail's [support channels](https://docs.wagtail.org/en/stable/support.html) * Email us at [[email protected]](mailto:[email protected]) (view our [security policy](https://github.com/wagtail/wagtail/security/policy) for more information).
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | wagtail (PyPI) | before 7.0.9 | 7.0.9 | Patch available | GHSA-92hv-j533-69wc |
| — | wagtail (PyPI) | 7.1 to before 7.3.4 | 7.3.4 | Patch available | GHSA-92hv-j533-69wc |
| — | wagtail (PyPI) | 7.4 to before 7.4.3 | 7.4.3 | Patch available | GHSA-92hv-j533-69wc |
| — | wagtail (PyPI) | 8.0rc1 to before 8.0rc2 | 8.0rc2 | Patch available | GHSA-92hv-j533-69wc |
- wagtail (PyPI) Vendor— Affected before 7.0.9 Fixed in 7.0.9 Patch available GHSA-92hv-j533-69wc
- wagtail (PyPI) Vendor— Affected 7.1 to before 7.3.4 Fixed in 7.3.4 Patch available GHSA-92hv-j533-69wc
- wagtail (PyPI) Vendor— Affected 7.4 to before 7.4.3 Fixed in 7.4.3 Patch available GHSA-92hv-j533-69wc
- wagtail (PyPI) Vendor— Affected 8.0rc1 to before 8.0rc2 Fixed in 8.0rc2 Patch available GHSA-92hv-j533-69wc
Remediation
- Fix · GHSA-92hv-j533-69wc wagtail (PyPI) Fixed in 7.0.9 Advisory →
- Fix · GHSA-92hv-j533-69wc wagtail (PyPI) Fixed in 7.3.4 Advisory →
- Fix · GHSA-92hv-j533-69wc wagtail (PyPI) Fixed in 7.4.3 Advisory →
- Fix · GHSA-92hv-j533-69wc wagtail (PyPI) Fixed in 8.0rc2 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-92hv-j533-69wc
References
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences