CVE-2022-37454
Buffer overflow in sponge queue functions
Impact
### 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](https://github.com/XKCP/XKCP/commit/fdc6fef075f4e81d6b1bc38364248975e08e340a). ### 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](https://github.com/XKCP/XKCP/issues/105) for more details.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | pysha3 | <= 1.0.2 | none recorded |
| rubygems | sha3 | < 1.0.5 | 1.0.5 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Extended Keccak Code Package Project | Extended Keccak Code Package | All versions |
| Debian | Debian Linux | Versions 10.0, 11.0 |
| Fedoraproject | Fedora | Versions 35, 36 |
| Php | Php | from 7.2.0 before 7.4.33 from 8.0.0 before 8.0.25 from 8.1.0 before 8.1.12 |
| Python | Python | from 3.6.0 before 3.7.16 from 3.8.0 before 3.8.16 from 3.9.0 before 3.9.16 from 3.10.0 before 3.10.9 |
| Sha3 Project | Sha3 | before 1.0.5 |
| Pysha3 Project | Pysha3 | All versions |
| Pypy | Pypy | from 7.0.0 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://csrc.nist.gov/projects/hash-functions/sha-3-project
- https://eprint.iacr.org/2023/331
- https://github.com/XKCP/XKCP/security/advisories/GHSA-6w4m-2xhg-2658
- https://lists.debian.org/debian-lts-announce/2022/10/msg00041.html
- https://lists.debian.org/debian-lts-announce/2022/11/msg00000.html
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/3ALQ6BDDPX5HU5YBQOBMDVAA2TSGDKIJ/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/CMIEXLMTW5GO36HTFFWIPB3OHZXCT3G4/
- https://mouha.be/sha-3-buffer-overflow/
- https://news.ycombinator.com/item?id=33281106
- https://news.ycombinator.com/item?id=35050307
- https://security.gentoo.org/glsa/202305-02
- https://www.debian.org/security/2022/dsa-5267
- https://www.debian.org/security/2022/dsa-5269
- https://security.netapp.com/advisory/ntap-20230203-0001/
- https://cert-portal.siemens.com/productcert/html/ssa-398330.html
- https://cert-portal.siemens.com/productcert/html/ssa-455250.html
- https://cert-portal.siemens.com/productcert/html/ssa-806742.html
- https://github.com/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://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/3ALQ6BDDPX5HU5YBQOBMDVAA2TSGDKIJ/