Code execution via unsafe YAML configuration loading
Published Sep 10, 2021 · Updated Aug 3, 2024
Unsafe YAML deserialization in Meta Platforms, Inc. ParlAI before 1.1.0 allows local users to execute code through a crafted configuration file. parse_configuration_file used yaml.FullLoader, while ModelChatBlueprint._get_shared_models called yaml.load without a safe loader, permitting Python object construction from YAML tags. An attacker must be able to replace a local chat-service or model-options YAML file that a ParlAI process later loads, yielding code execution with that process's privileges.
Summary
What happened
Unsafe YAML deserialization in Meta Platforms, Inc. ParlAI before 1.1.0 allows local users to execute code through a crafted configuration file. parse_configuration_file used yaml.FullLoader, while ModelChatBlueprint._get_shared_models called yaml.load without a safe loader, permitting Python object construction from YAML tags. An attacker must be able to replace a local chat-service or model-options YAML file that a ParlAI process later loads, yielding code execution with that process's privileges.
The record
- CVE
- CVE-2021-24040
- Published
- Sep 10, 2021
- Updated
- Aug 3, 2024
- Vendor
- Meta Platforms, Inc.
- Product
- ParlAI
- Classifications
- CWE-502, T1059.006
- Attack vector
- local
- Privileges
- Unavailable
Timeline
How it unfolded
- Sep 10, 2021CVE publishedPublication date reported by the CVE source.
- Aug 3, 2024Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
Compare these published version ranges with your installed build and any vendor patches.
- Affected versionversion=unspecified <1.1.0
What conditions does exploitation require?
What is affected?
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Public exploit references
- ParlAI malicious YAML configuration proof of conceptproof of concept · demonstrated
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.
Book a demo