CVE-2026-0858

6.1 MEDIUM

📋 TL;DR

This stored cross-site scripting (XSS) vulnerability in PlantUML allows attackers to inject malicious JavaScript into SVG diagrams. When applications render these compromised SVGs, arbitrary script execution occurs in the victim's browser context. Any application using vulnerable PlantUML versions to generate or display diagrams is affected.

💻 Affected Systems

Products:
  • PlantUML
  • Applications using PlantUML library
Versions: All versions before 1.2026.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in the GraphViz diagram processing component; affects both server-side generation and client-side rendering scenarios.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of user sessions, credential theft, and unauthorized actions performed on behalf of authenticated users when malicious diagrams are viewed.

🟠

Likely Case

Session hijacking, data exfiltration, and defacement of applications displaying user-generated PlantUML diagrams.

🟢

If Mitigated

Limited impact with proper content security policies and input validation, though XSS payloads could still execute in some contexts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires ability to create or modify PlantUML diagrams; no authentication needed to craft malicious payloads.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.2026.0

Vendor Advisory: https://github.com/plantuml/plantuml/releases/tag/v1.2026.0

Restart Required: Yes

Instructions:

1. Update PlantUML dependency to version 1.2026.0 or later. 2. Update pom.xml or build.gradle to use fixed version. 3. Rebuild and redeploy applications. 4. Restart any services using PlantUML.

🔧 Temporary Workarounds

Input Sanitization

all

Implement server-side sanitization of PlantUML diagram content before processing

Content Security Policy

all

Implement strict CSP headers to prevent script execution from SVG content

🧯 If You Can't Patch

  • Disable interactive attributes in GraphViz diagram processing
  • Implement output encoding for all SVG content before rendering

🔍 How to Verify

Check if Vulnerable:

Check PlantUML version in dependency files; versions below 1.2026.0 are vulnerable

Check Version:

mvn dependency:tree | grep plantuml OR gradle dependencies | grep plantuml

Verify Fix Applied:

Verify PlantUML version is 1.2026.0 or higher in application dependencies

📡 Detection & Monitoring

Log Indicators:

  • Unusual SVG generation patterns
  • Large PlantUML diagram submissions

Network Indicators:

  • SVG files containing script tags or javascript: URIs

SIEM Query:

source="web_logs" AND (uri="*.svg" OR user_agent="*PlantUML*") AND (content="<script>" OR content="javascript:")

🔗 References

📤 Share & Export