CVE-2022-28738

Source
https://cve.org/CVERecord?id=CVE-2022-28738
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-28738.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2022-28738
Aliases
Downstream
ALPINE (1)
BELL (1)
CLEANSTART (1)
MGASA (1)
OESA (1)
openSUSE (5)
RHSA (3)
RLSA (2)
UBUNTU (1)
Related
Published
2022-05-09T00:00:00Z
Modified
2026-08-12T13:00:54Z
Summary
[none]
Details

A double free was found in the Regexp compiler in Ruby 3.x before 3.0.4 and 3.1.x before 3.1.2. If a victim attempts to create a Regexp from untrusted user input, an attacker may be able to write to unexpected memory locations.

Database specific
{
    "cna_assigner":  "mitre",
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/28xxx/CVE-2022-28738.json",
    "unresolved_ranges":  [
        {
            "extracted_events":  [
                {
                    "introduced":  "3.x"
                },
                {
                    "fixed":  "3.0.4"
                },
                {
                    "introduced":  "3.1.x"
                },
                {
                    "fixed":  "3.1.2"
                }
            ],
            "source":  "DESCRIPTION"
        }
    ]
}
References

Affected packages

Git / github.com/ruby/ruby

Affected ranges

Type
GIT
Repo
https://github.com/ruby/ruby
Events
Database specific
Show details
{
    "cpe":  "cpe:2.3:a:ruby-lang:ruby:*:*:*:*:*:*:*:*",
    "extracted_events":  [
        {
            "introduced":  "3.0.0"
        },
        {
            "fixed":  "3.0.4"
        },
        {
            "introduced":  "3.1.0"
        },
        {
            "fixed":  "3.1.2"
        }
    ],
    "source":  "CPE_RANGE"
}

Affected versions

Other
v3_0_0
v3_0_1
v3_0_2
v3_0_3
v3_1_0
v3_1_1

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-28738.json"
vanir_signatures
[
    {
        "deprecated":  false,
        "digest":  {
            "function_hash":  "328864874327574063403775378011327146659",
            "length":  8488
        },
        "id":  "CVE-2022-28738-6a62c92b",
        "signature_type":  "Function",
        "signature_version":  "v1",
        "source":  "https://github.com/ruby/ruby/commit/3fa771ddedac25560be57f4055f1767e6c810f58",
        "target":  {
            "file":  "missing/dtoa.c",
            "function":  "strtod"
        }
    },
    {
        "deprecated":  false,
        "digest":  {
            "line_hashes":  [
                "337285692131683350587106124606194849187",
                "171125667734974039822063106046701353862",
                "315160000533057727845661241951943922131",
                "27247823211488908491542581188290566144",
                "268560890618114141161195735339343855241",
                "321395545576834868767584132304880323141",
                "12924114540111067235220886822648996878",
                "18815063887966383786580032668437598724"
            ],
            "threshold":  0.9
        },
        "id":  "CVE-2022-28738-d67435c3",
        "signature_type":  "Line",
        "signature_version":  "v1",
        "source":  "https://github.com/ruby/ruby/commit/3fa771ddedac25560be57f4055f1767e6c810f58",
        "target":  {
            "file":  "missing/dtoa.c"
        }
    }
]
vanir_signatures_modified
"2026-08-12T13:00:54Z"