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 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.
[
{
"cpes": [
"cpe:2.3:a:ruby-lang:ruby:-:*:*:*:*:*:*:*"
],
"vendor": "ruby-lang",
"product": "ruby",
"versions": [
{
"status": "affected",
"version": "3.0.3",
"versionType": "custom",
"lessThanOrEqual": "3.0.6"
}
],
"defaultStatus": "unknown"
}
]