Buffer overflow in sponge queue functions
Impact
The Keccak sponge function interface accepts partial inputs to be absorbed and partial outputs to be squeezed. A buffer can overflow when partial data with some specific sizes are queued, where at least one of them has a length of 2^32 - 200 bytes or more.
Patches
Yes, see commit fdc6fef0.
Workarounds
The problem can be avoided by limiting the size of the partial input data (or partial output digest) below 2^32 - 200 bytes. Multiple calls to the queue system can be chained at a higher level to retain the original functionality. Alternatively, one can process the entire input (or produce the entire output) at once, avoiding the queuing functions altogether.
References
See issue #105 for more details.
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Python (PyPI) | pysha3 | <= 1.0.2 | no fix |
References
- https://github.com/XKCP/XKCP/security/advisories/GHSA-6w4m-2xhg-2658
- https://nvd.nist.gov/vuln/detail/CVE-2022-37454
- https://github.com/XKCP/XKCP/issues/105
- https://github.com/johanns/sha3/issues/17
- https://github.com/tiran/pysha3/issues/29
- https://github.com/XKCP/XKCP/commit/fdc6fef075f4e81d6b1bc38364248975e08e340a
- https://github.com/johanns/sha3/commit/5f2e8118a62831911703c8753ff2435c3b5d7312
- https://www.debian.org/security/2022/dsa-5269
- https://www.debian.org/security/2022/dsa-5267
- https://security.gentoo.org/glsa/202305-02
- https://news.ycombinator.com/item?id=35050307
- https://news.ycombinator.com/item?id=33281106
- https://mouha.be/sha-3-buffer-overflow
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/CMIEXLMTW5GO36HTFFWIPB3OHZXCT3G4
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/3ALQ6BDDPX5HU5YBQOBMDVAA2TSGDKIJ
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/CMIEXLMTW5GO36HTFFWIPB3OHZXCT3G4
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/3ALQ6BDDPX5HU5YBQOBMDVAA2TSGDKIJ
- https://lists.debian.org/debian-lts-announce/2022/11/msg00000.html
- https://lists.debian.org/debian-lts-announce/2022/10/msg00041.html
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/sha3/CVE-2022-37454.yml
- https://eprint.iacr.org/2023/331
- https://csrc.nist.gov/projects/hash-functions/sha-3-project
- https://pypi.org/project/pysha3
- https://github.com/advisories/GHSA-6w4m-2xhg-2658
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H- Weakness (CWE)
CWE-190- Platform
- Python (PyPI)
- Package
pysha3- Disclosed
- 26.04.2023
- Updated
- 11.10.2026 15:17
Sources and licenses
OSV / GitHub Advisory Database - PYSEC-2026-504 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-6w4m-2xhg-2658 - CC BY 4.0
Vulnerability history: pysha3
All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.
This is the only known vulnerability of this package.
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.