-
CVSS Score
-The vulnerability stems from using pickle for (de)serialization of CA credentials. The commit diff shows pickle.load()/pickle.dump() were replaced with JSON equivalents in cert.py. Pickle is inherently unsafe for untrusted data due to its ability to execute arbitrary code during deserialization (CWE-502). The initialize() method's pickle.load() directly introduces the RCE vulnerability, while finalize()'s pickle.dump() enables persistent storage of pickle-serialized data that would later be deserialized unsafely. Both functions were explicitly modified in the security patch, confirming their role in the vulnerability.
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| nvflare | pip | < 2.1.2 | 2.1.2 |