Vulnerabilities in pkg:pypi/num2words
PACKAGEGHSA-jxr6-qrxx-2ph2 is a CRITICAL num2words subjected to phishing attack, vulnerability (CWE-506: Embedded Malicious Code) affecting Num2words libraries in the PyPI ecosystem. The issue involves num2words subjected to phishing attack, two versions published containing malware. Remediation is available in the latest vendor maintenance releases.
pkg:pypi/num2words
Vulnerability advisories affecting package pkg:pypi/num2words. Select an advisory below to view technical details or fixes.
| Advisory ID | CVE / NVD | Severity | Summary |
|---|---|---|---|
| GHSA-jxr6-qrxx-2ph2 | - | CRITICAL | num2words subjected to phishing attack, two versions published containing malware |
GHSA-jxr6-qrxx-2ph2 at a Glance
How to Fix GHSA-jxr6-qrxx-2ph2
To remediate this vulnerability, upgrade all affected Num2words dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
pip install num2words>=Latest secure release
pip install num2words>=Latest secure release
pip install num2words>=Latest secure release
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
pip show num2words
How to Check if You Are Affected
To determine whether your Python environment is affected by GHSA-jxr6-qrxx-2ph2, inspect your installed packages using pip:
pip show num2words
Analyze the terminal output to locate any version of Num2words in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than the patched release), your application is affected.
Note: The pip show num2words command checks currently installed packages in your active Python environment.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-506: Embedded Malicious Code, where the product contains code that appears to be malicious in nature. In Num2words, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
GHSA-jxr6-qrxx-2ph2 Affected Num2words Versions
3 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
num2words
|
PyPI |
≥ 0.5.15
≤ 0.5.16
|
|
|
num2words
|
PyPI |
0.5.15
All 1 versions
0.5.15
|
None specified
|
|
num2words
|
PyPI |
0.5.16
All 1 versions
0.5.16
|
None specified
|
References
Frequently Asked Questions
What is GHSA-jxr6-qrxx-2ph2?
Which Num2words versions are affected?
What version fixes GHSA-jxr6-qrxx-2ph2?
Is num2words affected?
What CWE is associated with GHSA-jxr6-qrxx-2ph2?
How can I check PyPI dependencies for GHSA-jxr6-qrxx-2ph2?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-jxr6-qrxx-2ph2",
"modified" : "2026-07-21T17:20:12Z",
"published" : "2025-07-31T19:33:29Z",
"aliases" : [ ],
"summary" : "num2words subjected to phishing attack, two versions published containing malware",
"details" : "The `num2words` project was compromised via a phishing attack and two new versions were uploaded to PyPI containing malicious code. The affected versions have been removed from PyPI, and users are advised to remove the affected versions from their environments.",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "PyPI",
"name" : "num2words"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0.5.15"
}, {
"last_affected" : "0.5.16"
} ]
} ]
}, {
"package" : {
"ecosystem" : "PyPI",
"name" : "num2words"
},
"versions" : [ "0.5.15" ]
}, {
"package" : {
"ecosystem" : "PyPI",
"name" : "num2words"
},
"versions" : [ "0.5.16" ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/ossf/malicious-packages/blob/49d0cfba3689ed9b195d101d3a2a964c6a77f767/osv/malicious/pypi/num2words/MAL-2025-6794.json"
}, {
"type" : "WEB",
"url" : "https://github.com/pypa/advisory-database/tree/main/vulns/num2words/PYSEC-2025-72.yaml"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/savoirfairelinux/num2words"
}, {
"type" : "WEB",
"url" : "https://nitter.tiekoetter.com/SFLinux/status/1949906299308953827"
}, {
"type" : "WEB",
"url" : "https://www.stepsecurity.io/blog/supply-chain-security-alert-num2words-pypi-package-shows-signs-of-compromise"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-506" ],
"severity" : "CRITICAL",
"github_reviewed" : true,
"github_reviewed_at" : "2025-07-31T19:33:29Z",
"nvd_published_at" : null
}
}