CVE-2024-28423

9.8 CRITICAL

📋 TL;DR

Airflow-Diagrams v2.1.0 contains an arbitrary file upload vulnerability in the unsafe_load function that allows attackers to upload malicious YML files and execute arbitrary code. This affects all users running the vulnerable version of Airflow-Diagrams. The vulnerability is particularly dangerous because it can lead to complete system compromise.

💻 Affected Systems

Products:
  • Airflow-Diagrams
Versions: v2.1.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Any system using Airflow-Diagrams v2.1.0 with the vulnerable unsafe_load function is affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise with attacker gaining remote code execution, data exfiltration, lateral movement, and persistent backdoor installation.

🟠

Likely Case

Unauthorized code execution leading to data theft, service disruption, or cryptocurrency mining malware deployment.

🟢

If Mitigated

Limited impact with proper file upload restrictions and input validation preventing exploitation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The vulnerability is straightforward to exploit with publicly available proof-of-concept code showing how to craft malicious YML files.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v2.1.1 or later

Vendor Advisory: https://github.com/bayuncao/vul-cve-15

Restart Required: Yes

Instructions:

1. Stop all Airflow-Diagrams services
2. Backup configuration files
3. Update to v2.1.1 or later using pip: pip install --upgrade airflow-diagrams
4. Restart services
5. Verify the fix is applied

🔧 Temporary Workarounds

Disable file upload functionality

all

Temporarily disable or restrict file upload capabilities in Airflow-Diagrams configuration

# Edit configuration to disable unsafe_load or restrict file types
# Set upload_allowed_extensions to empty list or safe extensions only

Implement input validation

all

Add strict validation for YML file uploads before processing

# Add validation layer that checks file content before unsafe_load
# Reject files containing suspicious patterns or code execution attempts

🧯 If You Can't Patch

  • Isolate affected systems from internet and restrict network access
  • Implement strict file upload monitoring and alerting for suspicious activity

🔍 How to Verify

Check if Vulnerable:

Check if Airflow-Diagrams version is 2.1.0 using pip show airflow-diagrams or check package metadata

Check Version:

pip show airflow-diagrams | grep Version

Verify Fix Applied:

Verify version is 2.1.1 or later and test that malicious YML uploads are rejected

📡 Detection & Monitoring

Log Indicators:

  • Unusual file uploads to Airflow-Diagrams
  • YML file processing errors
  • Suspicious process execution following file upload

Network Indicators:

  • Unexpected outbound connections from Airflow-Diagrams server
  • Large data transfers following file uploads

SIEM Query:

source="airflow-diagrams" AND (event="file_upload" OR event="yml_processing") AND file_extension="yml"

🔗 References

📤 Share & Export