---
id: "CVE-2026-125105"
page: "https://infrastack.ai/live/CVE-2026-125105"
kind: "vulnerability"
aliases: ["CVE-2026-125105", "GHSA-92hv-j533-69wc"]
title: "Wagtail: Identification of documents by SHA1 hash"
severity: "low"
cvss: 3.7
epss: null
exploited: false
status: "open"
category: "package"
products: [{"name": "wagtail", "fixed": ["7.0.9"], "affected": "< 7.0.9", "ecosystem": "pypi"}, {"name": "wagtail", "fixed": ["7.3.4"], "affected": ">= 7.1, < 7.3.4", "ecosystem": "pypi"}, {"name": "wagtail", "fixed": ["7.4.3"], "affected": ">= 7.4, < 7.4.3", "ecosystem": "pypi"}, {"name": "wagtail", "fixed": ["8.0rc2"], "affected": "= 8.0rc1", "ecosystem": "pypi"}]
ecosystems: ["pypi"]
tags: ["cwe-280", "package", "python", "self-hosted", "wagtail"]
not_affected_if: ["auth-required", "custom-document-model", "patched-version"]
published_at: "2026-08-20T18:45:09+00:00"
first_seen_at: "2026-11-09T21:29:57+00:00"
updated_at: "2026-11-09T21:31:19+00:00"
sources: [{"source": "ghsa", "url": "https://github.com/advisories/GHSA-92hv-j533-69wc", "first_seen_at": "2026-11-09T21:29:57+00:00"}]
exploit_sources: []
---

# Wagtail: Identification of documents by SHA1 hash

Link for people: https://infrastack.ai/live/CVE-2026-125105 (this .md is for agents)

Passing specific HTTP headers to Wagtail's document serve URL let an attacker check whether a document with a given ID matches a SHA1 hash they already know, without permission checks. The attacker learns only that match result, not the document contents or metadata.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- pypi:wagtail affected < 7.0.9 fixed 7.0.9
- pypi:wagtail affected >= 7.1, < 7.3.4 fixed 7.3.4
- pypi:wagtail affected >= 7.4, < 7.4.3 fixed 7.4.3
- pypi:wagtail affected = 8.0rc1 fixed 8.0rc2

## How to check

- Check the installed version with `pip show wagtail`
- Look for `file_hash` on your document model and whether requests to `/documents/` pass `If-Match` or `If-None-Match` headers from anonymous users
- Affected ranges: below `7.0.9`, `>= 7.1` and below `7.3.4`, `>= 7.4` and below `7.4.3`, and `8.0rc1`

## Fix

- Wagtail `7.0.9` for the 7.0 line
- Wagtail `7.3.4` for the 7.3 line
- Wagtail `7.4.3` for the 7.4 line
- Wagtail `8.0rc2` for the 8.0 pre-release line

## Timeline

- 2026-11-09T21:29:57+00:00 ghsa https://github.com/advisories/GHSA-92hv-j533-69wc

## Documents

- [advisory] Maintainer's advisory: api.github.com https://api.github.com/repos/wagtail/wagtail/security-advisories/GHSA-92hv-j533-69wc
- [advisory] Maintainer's advisory: github.com https://github.com/wagtail/wagtail/security/advisories/GHSA-92hv-j533-69wc

## From the sources

### 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 [security@wagtail.org](mailto:security@wagtail.org) (view our [security policy](https://github.com/wagtail/wagtail/security/policy) for more information).

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
