Docling Core RCE Bug: PyYAML Dependency a Major Risk
CVE Notify is flagging a serious Remote Code Execution (RCE) vulnerability within the Docling Core library, specifically impacting versions 2.21.0 up to, but not including, 2.48.4. The root cause? A dependency on PyYAML and its improper handling of untrusted YAML data. This bug, essentially an exposure of CVE-2020-14343, hinges on a specific condition: the application must be using PyYAML before version 5.4 and then call the docling_core.types.doc.DoclingDocument.load_from_yaml() function with malicious input. Itβs a classic case of a vulnerable dependency creating a backdoor.
The good news, relatively speaking, is that the Docling Core team has patched this in version 2.48.4. Their fix is a smart one: theyβve switched PyYAML deserialization from the permissive yaml.FullLoader to the much safer yaml.SafeLoader. This change effectively neuters the exploit by preventing untrusted data from executing arbitrary code. For those unable to upgrade Docling Core immediately, CVE Notify points out that ensuring your PyYAML version is 5.4 or newer also serves as a solid workaround.
What This Means For You
- Security teams must audit their dependencies, especially libraries like Docling Core that process potentially untrusted input. Prioritize upgrading both the core library and its underlying dependencies (like PyYAML) to their latest patched versions to mitigate known RCE vectors.
Related ATT&CK Techniques
Indicators of Compromise
| ID | Type | Indicator |
|---|---|---|
| CVE-2026-24009 | Deserialization | docling-core versions prior to 2.48.4, specifically when using PyYAML prior to 5.4 and invoking docling_core.types.doc.DoclingDocument.load_from_yaml() with untrusted YAML data. |
| CVE-2026-24009 | RCE | docling-core versions prior to 2.48.4, specifically when using PyYAML prior to 5.4 and invoking docling_core.types.doc.DoclingDocument.load_from_yaml() with untrusted YAML data. |
| CVE-2026-24009 | Misconfiguration | docling-core versions prior to 2.48.4, specifically when using PyYAML prior to 5.4 and invoking docling_core.types.doc.DoclingDocument.load_from_yaml() with untrusted YAML data. |