GitHub Advisoryadvisory · PyPI, RubyGems
GHSA-6w4m-2xhg-2658 Buffer overflow in sponge queue functions
CRITICAL
Official page ↗
- Aliases
- CVE-2022-37454
- Ecosystem
- PyPI, RubyGems
- Packages
- pysha3, sha3
- Severity
- Critical
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-190
- Reviewed
- 2023-04-26
Affected packages
• PyPI pysha3: <= 1.0.2 (no fix yet)
• RubyGems sha3: < 1.0.5 → fixed in 1.0.5
Description
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.
Related
Alias · CVE (1)
- CVE-2022-37454 The Keccak XKCP SHA-3 reference implementation before fdc6fef has an integer overflow and resultant buffer overflow that allows attackers… vulnerability
Weakness · CWE (1)
- CWE-190 Integer Overflow or Wraparound weakness
References
- https://github.com/XKCP/XKCP/security/advisories/GHSA-6w4m-2xhg-2658 web
- https://nvd.nist.gov/vuln/detail/CVE-2022-37454 advisory
- https://github.com/XKCP/XKCP/issues/105 web
- https://github.com/johanns/sha3/issues/17 web
- https://github.com/tiran/pysha3/issues/29 web
- https://github.com/XKCP/XKCP/commit/fdc6fef075f4e81d6b1bc38364248975e08e340a web
- https://github.com/johanns/sha3/commit/5f2e8118a62831911703c8753ff2435c3b5d7312 web
- https://www.debian.org/security/2022/dsa-5269 web
- https://www.debian.org/security/2022/dsa-5267 web
- https://security.gentoo.org/glsa/202305-02 web
- https://news.ycombinator.com/item?id=35050307 web
- https://news.ycombinator.com/item?id=33281106 web
- https://mouha.be/sha-3-buffer-overflow web
- https://lists.fedoraproject.org/archives/list/[email protected]/message/CMIEXLMTW5GO36HTFFWIPB3OHZXCT3G4 web
- https://lists.fedoraproject.org/archives/list/[email protected]/message/3ALQ6BDDPX5HU5YBQOBMDVAA2TSGDKIJ web
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/CMIEXLMTW5GO36HTFFWIPB3OHZXCT3G4 web
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/3ALQ6BDDPX5HU5YBQOBMDVAA2TSGDKIJ web
- https://lists.debian.org/debian-lts-announce/2022/11/msg00000.html web
- https://lists.debian.org/debian-lts-announce/2022/10/msg00041.html web
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/sha3/CVE-2022-37454.yml web
- https://eprint.iacr.org/2023/331 web
- https://csrc.nist.gov/projects/hash-functions/sha-3-project web