CVE-2026-24009
Unknown Unknown - Not Provided
Remote Code Execution in Docling-Core via PyYAML Deserialization

Publication date: 2026-01-22

Last updated on: 2026-04-09

Assigner: GitHub, Inc.

Description
Docling Core (or docling-core) is a library that defines core data types and transformations in the document processing application Docling. A PyYAML-related Remote Code Execution (RCE) vulnerability, namely CVE-2020-14343, is exposed in docling-core starting in version 2.21.0 and prior to version 2.48.4, specifically only if the application uses pyyaml prior to version 5.4 and invokes `docling_core.types.doc.DoclingDocument.load_from_yaml()` passing it untrusted YAML data. The vulnerability has been patched in docling-core version 2.48.4. The fix mitigates the issue by switching `PyYAML` deserialization from `yaml.FullLoader` to `yaml.SafeLoader`, ensuring that untrusted data cannot trigger code execution. Users who cannot immediately upgrade docling-core can alternatively ensure that the installed version of PyYAML is 5.4 or greater.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-01-22
Last Modified
2026-04-09
Generated
2026-05-07
AI Q&A
2026-01-22
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
docling docling-core From 2.21.0 (inc) to 2.48.4 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-502 The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

CVE-2026-24009 is a high-severity Remote Code Execution (RCE) vulnerability in the docling-core Python package. It occurs when the function docling_core.types.doc.DoclingDocument.load_from_yaml() processes untrusted YAML data using PyYAML versions earlier than 5.4. The vulnerability arises because the unsafe yaml.FullLoader is used for deserialization, which can execute arbitrary code embedded in the YAML input. This issue is related to a previous PyYAML vulnerability (CVE-2020-14343) and affects docling-core versions from 2.21.0 up to but not including 2.48.4. The vulnerability was fixed by switching to yaml.SafeLoader, which safely restricts deserialization and prevents code execution from untrusted YAML data. [2, 3, 5]


How can this vulnerability impact me? :

This vulnerability can allow an attacker to remotely execute arbitrary code on your system without requiring any privileges or user interaction, potentially leading to full compromise of confidentiality, integrity, and availability of the affected system. Because it is exploitable over the network with high attack complexity, an attacker could run malicious code by supplying crafted YAML input to the vulnerable docling-core function. This could result in unauthorized access, data loss, or system disruption. [2, 3]


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by checking the versions of docling-core and PyYAML installed on your system. Specifically, verify if docling-core is between versions 2.21.0 and 2.48.4 (exclusive) and if PyYAML is below version 5.4. You can use commands like `pip show docling-core` and `pip show PyYAML` to check installed versions. Additionally, review your application code to see if it calls `docling_core.types.doc.DoclingDocument.load_from_yaml()` with untrusted YAML input, which is the vulnerable usage pattern. [2]


What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability immediately, upgrade docling-core to version 2.48.4 or later, where the vulnerability is patched by switching YAML deserialization from `yaml.FullLoader` to `yaml.SafeLoader`. If upgrading docling-core is not possible right away, ensure that PyYAML is upgraded to version 5.4 or higher, which addresses the underlying PyYAML vulnerability. Avoid passing untrusted YAML data to `DoclingDocument.load_from_yaml()` until these updates are applied. [2, 5]


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

This vulnerability allows remote code execution through unsafe deserialization of untrusted YAML data, which can lead to severe impacts on confidentiality, integrity, and availability of data. Such impacts could result in non-compliance with data protection standards and regulations like GDPR and HIPAA, which require safeguarding sensitive data against unauthorized access and ensuring system integrity. Therefore, exploitation of this vulnerability could compromise compliance with these regulations by exposing sensitive information or disrupting system operations. [2, 3]


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart