GitHub Advisoryadvisory · crates.io
GHSA-mjw4-jj88-v687 panic on parsing crafted phonenumber inputs
CRITICAL
Official page ↗
- Aliases
- CVE-2024-39697
- Ecosystem
- crates.io
- Packages
- phonenumber
- Severity
- Critical
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H
- Weaknesses
- CWE-1284, CWE-248, CWE-392
- Reviewed
- 2024-07-09
Affected packages
• crates.io phonenumber: >= 0.3.4, < 0.3.6 → fixed in 0.3.6
Description
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`.
Related
Alias · CVE (1)
- CVE-2024-39697 phonenumber is a library for parsing, formatting and validating international phone numbers. vulnerability
References
- https://github.com/whisperfish/rust-phonenumber/security/advisories/GHSA-mjw4-jj88-v687 web
- https://nvd.nist.gov/vuln/detail/CVE-2024-39697 advisory
- https://github.com/whisperfish/rust-phonenumber/issues/69 web
- https://github.com/whisperfish/rust-phonenumber/pull/52 web
- https://github.com/whisperfish/rust-phonenumber/commit/b792151b17fc90231c232a23935830c2266f3203 web
- https://github.com/whisperfish/rust-phonenumber/commit/f69abee1481fac0d6d531407bae90020e39c6407 web
- https://github.com/whisperfish/rust-phonenumber package
- https://rustsec.org/advisories/RUSTSEC-2024-0369.html web