CVE-2022-28739

Source
https://cve.org/CVERecord?id=CVE-2022-28739
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-28739.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2022-28739
Aliases
Downstream
Related
Published
2022-05-09T00:00:00Z
Modified
2026-07-15T00:27:39.668014Z
Summary
[none]
Details

There is a buffer over-read in Ruby before 2.6.10, 2.7.x before 2.7.6, 3.x before 3.0.4, and 3.1.x before 3.1.2. It occurs in String-to-Float conversion, including Kernel#Float and String#to_f.

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

Affected packages

Git / github.com/ruby/ruby

Affected ranges

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

Affected versions

Other
v1_0_r2
v2_7_0
v2_7_1
v2_7_2
v2_7_3
v2_7_4
v2_7_5
v3_0_0
v3_0_1
v3_0_2
v3_0_3
v3_1_0
v3_1_1

Database specific

vanir_signatures_modified
"2026-07-15T00:27:39Z"
vanir_signatures
[
    {
        "source": "https://github.com/ruby/ruby/commit/3fa771ddedac25560be57f4055f1767e6c810f58",
        "id": "CVE-2022-28739-6a62c92b",
        "signature_version": "v1",
        "signature_type": "Function",
        "deprecated": false,
        "digest": {
            "function_hash": "328864874327574063403775378011327146659",
            "length": 8488.0
        },
        "target": {
            "file": "missing/dtoa.c",
            "function": "strtod"
        }
    },
    {
        "source": "https://github.com/ruby/ruby/commit/c9c2245c0a25176072e02db9254f0e0c84c805cd",
        "id": "CVE-2022-28739-9881b371",
        "signature_version": "v1",
        "signature_type": "Function",
        "deprecated": false,
        "digest": {
            "function_hash": "328864874327574063403775378011327146659",
            "length": 8488.0
        },
        "target": {
            "file": "missing/dtoa.c",
            "function": "strtod"
        }
    },
    {
        "source": "https://github.com/ruby/ruby/commit/c9c2245c0a25176072e02db9254f0e0c84c805cd",
        "id": "CVE-2022-28739-cd9ec724",
        "signature_version": "v1",
        "signature_type": "Line",
        "deprecated": false,
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "337285692131683350587106124606194849187",
                "171125667734974039822063106046701353862",
                "315160000533057727845661241951943922131",
                "27247823211488908491542581188290566144",
                "268560890618114141161195735339343855241",
                "321395545576834868767584132304880323141",
                "12924114540111067235220886822648996878",
                "18815063887966383786580032668437598724"
            ]
        },
        "target": {
            "file": "missing/dtoa.c"
        }
    },
    {
        "source": "https://github.com/ruby/ruby/commit/3fa771ddedac25560be57f4055f1767e6c810f58",
        "id": "CVE-2022-28739-d67435c3",
        "signature_version": "v1",
        "signature_type": "Line",
        "deprecated": false,
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "337285692131683350587106124606194849187",
                "171125667734974039822063106046701353862",
                "315160000533057727845661241951943922131",
                "27247823211488908491542581188290566144",
                "268560890618114141161195735339343855241",
                "321395545576834868767584132304880323141",
                "12924114540111067235220886822648996878",
                "18815063887966383786580032668437598724"
            ]
        },
        "target": {
            "file": "missing/dtoa.c"
        }
    }
]
source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-28739.json"