GHSA-mjw4-jj88-v687

Suggest an improvement
Source
https://github.com/advisories/GHSA-mjw4-jj88-v687
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/07/GHSA-mjw4-jj88-v687/GHSA-mjw4-jj88-v687.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-mjw4-jj88-v687
Aliases
Published
2024-07-09T14:13:48Z
Modified
2024-11-18T16:26:50Z
Severity
  • 8.6 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H CVSS Calculator
  • 9.2 (Critical) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H CVSS Calculator
Summary
panic on parsing crafted phonenumber inputs
Details

Impact

The phonenumber parsing code may panic due to a reachable assert! guard on the phonenumber string.

In a typical deployment of rust-phonenumber, this may get triggered by feeding a maliciously crafted phonenumber, e.g. over the network, specifically strings of the form +dwPAA;phone-context=AA, where the "number" part potentially parses as a number larger than 2^56.

Since f69abee1/0.3.4/#52.

0.2.x series is not affected.

Patches

Upgrade to 0.3.6 or higher.

Workarounds

n/a

References

Whereas https://github.com/whisperfish/rust-phonenumber/issues/69 did not provide an example code path, property testing found a few: +dwPAA;phone-context=AA.

Database specific
{
    "nvd_published_at": "2024-07-09T15:15:11Z",
    "cwe_ids": [
        "CWE-1284",
        "CWE-248",
        "CWE-392"
    ],
    "severity": "CRITICAL",
    "github_reviewed": true,
    "github_reviewed_at": "2024-07-09T14:13:48Z"
}
References

Affected packages

crates.io / phonenumber

Package

Affected ranges

Type
SEMVER
Events
Introduced
0.3.4
Fixed
0.3.6