Lucene search

K
rubygemsRubySecRUBY:SHA3-2022-37454
HistoryApr 25, 2023 - 9:00 p.m.

Buffer overflow in sponge queue functions

2023-04-2521:00:00
RubySec
github.com
11
keccak sponge
buffer overflow
partial inputs

CVSS3

9.8

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

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 configurations

Vulners
Node
rubysha3Range1.0.5
VendorProductVersionCPE
rubysha3*cpe:2.3:a:ruby:sha3:*:*:*:*:*:*:*:*

CVSS3

9.8

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H