Ecosyste.ms: Advisories
An open API service providing security vulnerability metadata for many open source software ecosystems.
Security Advisories: GSA_kwCzR0hTQS1yY3hjLTN3Mm0tbXA4aM4AAs61
Unsafe deserialisation in the PKI implementation scheme of NVFlare
Impact
NVFLARE contains a vulnerability in its PKI implementation module, where The CA credentials are transported via pickle and no safe deserialization. The deserialization of Untrusted Data may allow an unprivileged network attacker to cause Remote Code Execution, Denial Of Service, and Impact to both Confidentiality and Integrity.
All versions before 2.1.2 are affected.
CVSS Score = 9.8
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Patches
The patch will be included in nvflare==2.1.2
Workarounds
Replace pickle serialization with JSON and change the code accordingly
Additional information
Issue Found by: Oliver Sellwood (@Nintorac)
JSON: https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1yY3hjLTN3Mm0tbXA4aM4AAs61
Source: GitHub Advisory Database
Origin: Unspecified
Severity: Critical
Classification: General
Published: almost 2 years ago
Updated: 8 months ago
CVSS Score: 9.8
CVSS vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Identifiers: GHSA-rcxc-3w2m-mp8h, CVE-2022-31604
References:
- https://github.com/NVIDIA/NVFlare/security/advisories/GHSA-rcxc-3w2m-mp8h
- https://nvd.nist.gov/vuln/detail/CVE-2022-31604
- https://github.com/pypa/advisory-database/tree/main/vulns/nvflare/PYSEC-2022-231.yaml
- https://github.com/NVIDIA/NVFlare/commit/fd018eea9dff925a765079a94c2f017920fcda67
- https://github.com/advisories/GHSA-rcxc-3w2m-mp8h
Blast Radius: 16.0
Affected Packages
pypi:nvflare
Dependent packages: 1Dependent repositories: 43
Downloads: 4,589 last month
Affected Version Ranges: < 2.1.2
Fixed in: 2.1.2
All affected versions: 0.1.3, 0.9.0, 1.0.0, 1.0.1, 1.0.2, 1.1.0, 1.1.1, 2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.0.7, 2.0.8, 2.0.9, 2.0.10, 2.0.11, 2.0.12, 2.0.13, 2.0.14, 2.0.15, 2.0.16, 2.0.18, 2.0.19, 2.1.0, 2.1.1
All unaffected versions: 2.1.2, 2.1.3, 2.1.4, 2.2.0, 2.2.1, 2.2.2, 2.2.3, 2.2.4, 2.2.5, 2.2.6, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5, 2.3.6, 2.3.7, 2.3.8, 2.3.9, 2.3.10, 2.3.11, 2.3.12, 2.4.0