Cyber Resilience

CVE-2024-27280

Critical

Published: 14 May 2024

Published
14 May 2024
Modified
15 April 2026
KEV Added
Patch
CVSS Score v3.1 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS Score 0.0862 92.6th percentile
Risk Priority 25 60% EPSS · 20% KEV · 20% CVSS

Summary

CVE-2024-27280 is a critical-severity Classic Buffer Overflow (CWE-120) vulnerability in Hackerone (inferred from references). Its CVSS base score is 9.8 (Critical).

Operationally, ranked in the top 7.4% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.

Deeper analysis

A buffer-overread vulnerability exists in the StringIO component (version 3.0.1) shipped with Ruby 3.0.x through 3.0.6 and 3.1.x through 3.1.4. The flaw occurs in the ungetbyte and ungetc methods, which can read past the end of a string buffer; a subsequent call to StringIO.gets may then return uninitialized memory contents. The issue is tracked as CWE-120 and carries a CVSS 3.1 score of 9.8.

An unauthenticated remote attacker can trigger the condition by supplying crafted input that exercises the affected StringIO methods in any Ruby application using the vulnerable versions. Successful exploitation can disclose sensitive memory values and, given the impact metrics, may also permit broader confidentiality, integrity, or availability compromise depending on how the returned data is processed.

The official Ruby advisory and associated patches recommend upgrading to StringIO 3.0.1.1 for Ruby 3.0 users or StringIO 3.0.1.2 for Ruby 3.1 users; Ruby 3.0.3 contains the primary fix. The EPSS score has remained flat at 0.0883 with no material increase observed after disclosure.

EU & UK References

Vulnerability details

A buffer-overread issue was discovered in StringIO 3.0.1, as distributed in Ruby 3.0.x through 3.0.6 and 3.1.x through 3.1.4. The ungetbyte and ungetc methods on a StringIO can read past the end of a string, and a subsequent call to…

more

StringIO.gets may return the memory value. 3.0.3 is the main fixed version; however, for Ruby 3.0 users, a fixed version is stringio 3.0.1.1, and for Ruby 3.1 users, a fixed version is stringio 3.0.1.2.

CWE(s)

Related Threats

No named actor attribution yet. ATT&CK technique mapping in progress for this CVE.

Affected Assets

Hackerone
inferred from references and description; NVD did not file a CPE for this CVE

Mitigating Controls

Likely Mitigating Controls AI

Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.

addresses: CWE-120

Platform-independent managed code eliminates the need for unchecked native buffer copies that are the root cause of classic buffer overflows.

References