---
id: CVE-2022-37454
aliases:
  - GHSA-6w4m-2xhg-2658
  - BIT-libphp-2022-37454
  - BIT-libpython-2022-37454
  - BIT-php-2022-37454
  - BIT-php-min-2022-37454
  - BIT-python-2022-37454
  - BIT-python-min-2022-37454
  - PSF-2022-11
  - PYSEC-2026-504
title: Buffer overflow in sponge queue functions
summary: Buffer overflow in sponge queue functions
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
vendor: pysha3
product: pysha3
ecosystem: pip
affected:
  - pysha3 <= 1.0.2
  - sha3 < 1.0.5
patched:
  - sha3 1.0.5
published: '2023-04-26'
updated: '2026-09-10'
sourceUpdated: '2026-09-10T03:49:53.723946181Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-6w4m-2xhg-2658'
references:
  - url: 'https://github.com/XKCP/XKCP/security/advisories/GHSA-6w4m-2xhg-2658'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2022-37454'
  - url: 'https://github.com/XKCP/XKCP/issues/105'
  - url: 'https://github.com/johanns/sha3/issues/17'
  - url: 'https://github.com/tiran/pysha3/issues/29'
  - url: >-
      https://github.com/XKCP/XKCP/commit/fdc6fef075f4e81d6b1bc38364248975e08e340a
  - url: >-
      https://github.com/johanns/sha3/commit/5f2e8118a62831911703c8753ff2435c3b5d7312
  - url: 'https://www.debian.org/security/2022/dsa-5269'
  - url: 'https://www.debian.org/security/2022/dsa-5267'
  - url: 'https://security.gentoo.org/glsa/202305-02'
  - url: 'https://news.ycombinator.com/item?id=35050307'
  - url: 'https://news.ycombinator.com/item?id=33281106'
  - url: 'https://mouha.be/sha-3-buffer-overflow'
  - url: >-
      https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/CMIEXLMTW5GO36HTFFWIPB3OHZXCT3G4
  - url: >-
      https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/3ALQ6BDDPX5HU5YBQOBMDVAA2TSGDKIJ
  - url: >-
      https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/CMIEXLMTW5GO36HTFFWIPB3OHZXCT3G4
  - url: >-
      https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/3ALQ6BDDPX5HU5YBQOBMDVAA2TSGDKIJ
  - url: 'https://lists.debian.org/debian-lts-announce/2022/11/msg00000.html'
  - url: 'https://lists.debian.org/debian-lts-announce/2022/10/msg00041.html'
  - url: >-
      https://github.com/rubysec/ruby-advisory-db/blob/master/gems/sha3/CVE-2022-37454.yml
  - url: 'https://eprint.iacr.org/2023/331'
  - url: 'https://csrc.nist.gov/projects/hash-functions/sha-3-project'
tags:
  - osv
  - pip
epss: 0.05737
epssPercentile: 0.92769
ingestedAt: '2026-07-08T18:25:46.543Z'
---

## Overview

### 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

- `pysha3 <= 1.0.2`
- `sha3 < 1.0.5`

## Remediation

Upgrade to a patched release:

- `sha3 1.0.5`
