High · published January 22, 2026
⚡ An untrustworthy YAML input could let attackers execute arbitrary code, thanks to a hidden PyYAML RCE in docling-core between versions 2.21.0 and 2.48.4! 🔥 Think of it like a restaurant that allows customers to submit their own recipes. If the chef blindly follows these unverified instructions, they could end up cooking something dangerous — or worse, poisoning the entire dining room! An attacker could craft a malicious YAML file that, when processed by docling-core, executes harmful commands on your server. This means they could access sensitive data, manipulate files, or even disrupt operations altogether. It's a recipe for chaos in your application!
Think of it like a restaurant that allows customers to submit their own recipes. If the chef blindly follows these unverified instructions, they could end up cooking something dangerous — or worse, poisoning the entire dining room! This vulnerability allows remote code execution due to the use of the `yaml.FullLoader` in PyYAML, which can process untrusted input. By invoking `load_from_yaml()` with unsafe data, attackers can execute arbitrary code within the application.
An attacker could craft a malicious YAML file that, when processed by docling-core, executes harmful commands on your server. This means they could access sensitive data, manipulate files, or even disrupt operations altogether. It's a recipe for chaos in your application! Upgrade docling-core to version 2.48.4 immediately to benefit from the fixed `SafeLoader` implementation. If an upgrade isn't feasible right now, ensure that your PyYAML version is at least 5.4 to mitigate the risk. Don't take chances with your data! You've got this! Follow these steps to secure your application, and keep the internet a safer place! 🛡️