---
id: CVE-2022-31604
aliases:
  - GHSA-rcxc-3w2m-mp8h
  - PYSEC-2022-231
title: Unsafe deserialisation in the PKI implementation scheme of NVFlare
summary: Unsafe deserialisation in the PKI implementation scheme of NVFlare
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
vendor: nvflare
product: nvflare
ecosystem: pip
affected:
  - nvflare < 2.1.2
patched:
  - nvflare 2.1.2
published: '2022-06-22'
updated: '2026-07-08'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-rcxc-3w2m-mp8h'
references:
  - url: 'https://github.com/NVIDIA/NVFlare/security/advisories/GHSA-rcxc-3w2m-mp8h'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2022-31604'
  - url: >-
      https://github.com/NVIDIA/NVFlare/commit/fd018eea9dff925a765079a94c2f017920fcda67
  - url: 'https://github.com/NVIDIA/NVFlare'
  - url: >-
      https://github.com/pypa/advisory-database/tree/main/vulns/nvflare/PYSEC-2022-231.yaml
tags:
  - osv
  - pip
epss: 0.02079
epssPercentile: 0.80667
ingestedAt: '2026-07-08T18:25:52.699Z'
---

## Overview

### 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](https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fnvd.nist.gov%2Fvuln-metrics%2Fcvss%2Fv3-calculator%3Fvector%3DAV%3AN%2FAC%3AL%2FPR%3AN%2FUI%3AN%2FS%3AU%2FC%3AH%2FI%3AH%2FA%3AH&data=05%7C01%7Cchesterc%40nvidia.com%7Ce9600bde16854b0b380008da4fc544f7%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C637910005925574215%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=5kBrXEmAbqp8R31JCH%2FG95MUly72UPVihnBwiRFmvBY%3D&reserved=0)



### 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)



## Affected packages

- `nvflare < 2.1.2`

## Remediation

Upgrade to a patched release:

- `nvflare 2.1.2`
