GHSA-92hv-j533-69wcLow· 3.7▾ SunlitWagtail: Identification of documents by SHA1 hash
▾ Sunlit zone — Low / medium · no exploitation signal
impact 20.4 · likelihood 0 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
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.
Patched versions have been released as Wagtail 7.0.9, 7.3.4, 7.4.3 and 8.0rc2.
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.
Many thanks to Anand Himanshu for reporting this issue.
If you have any questions or comments about this advisory:
wagtail < 7.0.9wagtail >= 7.1, < 7.3.4wagtail >= 7.4, < 7.4.3wagtail = 8.0rc1Upgrade to a patched release:
wagtail 7.0.9wagtail 7.3.4wagtail 7.4.3wagtail 8.0rc2Connected by shared product, vendor, weakness, or advisory.
CVE-2026-54259Medium· 4.3Wagtail: Improper restriction handling on Documents and Images chosen endpoints
CVE-2026-54261Medium· 6.5Wagtail: Improper permission handling in image preview
CVE-2026-54262Medium· 4.3Wagtail: Pages translations can be created without page permissions when using simple_translation
CVE-2026-55468Medium· 4.3Wagtail: Improper restriction handling on Pages admin API
GHSA-c2xx-cjmh-9q8fMedium· 5.3Wagtail: Improper restriction handling on descendant collections in Documents and Images API
GHSA-x5cx-w6p2-mxf2Medium· 6.5Wagtail: Improper permission handling when copying snippets