/

CVE-2026-97735

Severity:

HIGH RISK

(8.0)

Stored XSS (CWE-79) in ITFlow Ticket Email Parser Path

CVE-2026-97735

Deferred

Vulnerability type

Category:

Stored Cross-Site Scripting

CWE:

CWE-79

Impact:

Client-Side Code Execution and Session Compromise

Severity:

HIGH RISK

(8.0)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

ITFlow before 26.08 permits SVG attachments in the ticket email parser, creating a potential stored cross-site scripting risk when email content is processed and later rendered in the application. Because messages may arrive over SMTP from arbitrary senders, an attacker could submit a crafted SVG that executes script in the context of a user's ITFlow session when viewed.

Affected context

The issue occurs in ITFlow's ticket email parsing workflow, specifically cron/ticket_email_parser.php, when inbound email messages are accepted over SMTP and SVG attachments are retained or displayed as ticket content. Risk depends on whether untrusted SVG data reaches a browser-rendered context without effective sanitization, content restrictions, or safe attachment handling.

Exploit preconditions

  • Attack surface: Inbound email processing and ticket attachment rendering - Required access: Ability to send email to an address monitored by the ITFlow

ticket parser; direct authentication to ITFlow may not be required

  • Trigger point: Processing and subsequent browser viewing of a submitted SVG

attachment

  • Why exploitation is possible: SVG is an active XML-based format, and unsafe

rendering or insufficient sanitization can allow attacker-controlled script

content to execute in an authenticated user's browser context

Why this happens

The underlying bug is insufficiently trusted handling of SVG attachments in an email-to-ticket workflow. SVG files can contain active content, including script elements and event handlers, so treating them like inert image files without restrictive validation, sanitization, or delivery controls can create a CWE-79 cross-site scripting condition when the attachment is rendered by a browser.

Potential impact

  • An attacker may execute JavaScript in the context of an ITFlow user's session
  • Sensitive ticket data or interface content could be read
  • Unauthorized actions could be performed through the victim's authenticated session
  • Administrative users could be targeted, potentially increasing the scope of compromise
  • Malicious content could persist in tickets or attachments and affect multiple viewers

General mitigation guidance

Mitigation generally focuses on reducing trust in inbound attachments and preventing active SVG content from reaching executable browser contexts. Common defensive patterns include rejecting SVG attachments when they are not required, sanitizing SVG with a restrictive allowlist, converting images to inert raster formats, and serving downloads with non-rendering content types and appropriate content-disposition policies. Attachment storage should be isolated from application origins where practical, and users and automated mail-processing components should operate with least privilege. Validation should occur before persistence or display, and inbound email acceptance policies should limit untrusted attachment types.

How teams detect issues like this

Detection approaches include static analysis for attachment paths that accept SVG without sanitization, code review of email parser and upload handling, and tests that verify active XML content cannot execute when attachments are viewed. Security policies can flag browser-renderable user content served from trusted application origins, permissive content types, missing Content-Disposition controls, and attachment handlers lacking allowlist validation. Automated application security testing and dependency-aware code review tools may help identify related patterns.

Sources

SourceLink
github.comgithub.com/itflow-org/itflow/commit/16000efcf7f7c833aae9f8da22d2a82df21a49c0
github.comgithub.com/itflow-org/itflow/security/advisories/GHSA-89fw-w69c-vghj

Frequently asked

questions

Potentially. If the ticket email address accepts messages from arbitrary SMTP

senders, an attacker may only need to send a crafted message. Successful impact

still depends on the attachment being processed and later viewed in a

vulnerable browser context.

Yes. The risk generally materializes when the stored SVG is rendered or otherwise

interpreted as active content by a browser. Merely storing a rejected or inert

file should not create the same scripting condition.

Treat inbound SVG files as untrusted active content: reject them when possible,

or sanitize and convert them to inert formats before storage or display. Serving

attachments outside the trusted application origin provides an additional

containment layer.

Use strict attachment allowlists, sanitize content before persistence, apply

safe response headers, isolate user-controlled files, and test every upload and

email-ingestion path for stored script execution.

Find out what's already
exploitable in your codebase.