CVE-2021-39207: Deserialization of Untrusted Data in parlai
Impact Due to use of unsafe YAML deserialization logic, an attacker with the ability to modify local YAML configuration files could provide malicious input, resulting in remote code execution or similar risks.
Patches The issue can be patched by upgrading to v1.1.0 or later. It can also be patched by replacing YAML deserialization with equivalent safeload calls.
References
- https://github.com/facebookresearch/ParlAI/commit/507d066ef432ea27d3e201da08009872a2f37725 - https://github.com/facebookresearch/ParlAI/commit/4374fa2aba383db6526ab36e939eb1cf8ef99879 - https://anon-artist.github.io/blogs/blog3.html
Other sources
parlai is a framework for training and evaluating AI models on a variety of openly available dialogue datasets. In affected versions the package is vulnerable to YAML deserialization attack caused by unsafe loading which leads to Arbitary code execution. This security bug is patched by avoiding unsafe loader users should update to version above v1.1.0. If upgrading is not possible then users can change the Loader used to SafeLoader as a workaround. See commit 507d066ef432ea27d3e201da08009872a2f37725 for details.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
pip/parlaito a version that resolves this vulnerability.Fixed in 1.1.0 - Upgrade
Upgrade
parlaito a version that resolves this vulnerability.Fixed in v1.1.0 - Configuration
If upgrading to v1.1.0 or later is not possible, change the YAML loader used from the unsafe loader to SafeLoader (i.e., use SafeLoader instead of the unsafe YAML deserialization logic).
parlai YAML configuration loading YAML Loader used = SafeLoader
Event History
Frequently Asked Questions
What is CVE-2021-39207?
CVE-2021-39207 is a vulnerability in the Parlai framework that allows for YAML deserialization attack leading to arbitrary code execution.
What is the severity of CVE-2021-39207?
CVE-2021-39207 has a severity rating of 8.8 (high).
How does CVE-2021-39207 affect the Parlai package?
CVE-2021-39207 affects the Parlai package versions up to exclusive 1.1.0.
How is CVE-2021-39207 patched?
CVE-2021-39207 is patched by avoiding unsafe YAML loading in the Parlai package.
What is the Common Weakness Enumeration (CWE) ID for CVE-2021-39207?
CVE-2021-39207 is associated with the CWE ID 502.