☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
SOON 🐛 CWE-230
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-19395

CVE-2026-19395 Vulnerability in Qt
📅 PUBLISHED: 2026-10-05 00:00 UTC 🔄 UPDATED: 2026-10-11 18:45 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.25%
👁️
0.25% probability
6.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1203
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-19395 is a denial-of-service vulnerability in Qt for MCUs in which a Text element rendering styled text crashes or halts the device when an <img> tag embedded in that text carries an attribute with an empty value. The flaw resides in the text parser, which forwards the empty attribute value to an internal validation check that accepts only non-empty values; the check fails, an error is raised, and the default error handler halts the device. Any device or product built on an affected Qt for MCUs release that renders externally influenced styled text is potentially impacted with a full loss-of-availability condition.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

Qt for MCUs is a graphics runtime for microcontroller-class devices. Its rich-text engine supports styled text, including inline <img> markup that references embedded images. According to the NVD description, the parser does not validate the contents of <img> attributes before passing attribute values into an internal check. When an attribute is present syntactically but carries an empty value, the parser extracts an empty string and forwards it to a check routine that is written to accept only non-empty values. That precondition is violated, the check returns a failure, and the failure is escalated to the default error handler — which, per the description, halts the device rather than degrading gracefully.

Two distinct weaknesses combine here:

  1. Improper handling of a missing/empty value (CWE-230). The parsing path makes a value available to downstream logic without first confirming it is non-empty. The empty value is a legitimate, expected input in loosely authored or hostile markup, so the parser should either reject it with controlled error semantics or coerce it to a safe default.
  2. Unsafe failure mode. The validation check's failure is routed into a default error handler whose defined behavior is to halt the device. In an embedded, often safety- or availability-relevant context, an unbounded halt caused by a single malformed token converts a parse-time input error into a hard denial of service that may require a physical reset or power cycle.

The CWE mapping confirms the root cause is value-handling rather than memory corruption: there is no indication in the source data of out-of-bounds access, use-after-free, or code execution. The vulnerability is a logic/validation defect whose severity is amplified by the runtime's error-handling policy.

Because Qt for MCUs is compiled into a product's firmware, the flaw is reachable anywhere an application renders styled text derived from a source the attacker can influence — for example, strings delivered over a device interface, network service, BLE, or serial channel and then passed to a Text element.

Exploitation Scenarios

No public PoC, exploit code, or Nuclei template exists for this CVE; the attack chain below is inferred from the vulnerability class and the mechanism described in the NVD entry. No specific function names, class names, or code paths are asserted because none are provided in the source data.

  1. Reconnaissance / target identification. An adversary identifies a target device or product running Qt for MCUs that (a) renders styled text via the rich-text Text element and (b) accepts text content from a channel the attacker can reach — a device UI with an editable text field, a companion mobile/web app, a network API, or an update/config channel that stores text later displayed on the micro-controller display.
  2. Triggering the flaw. The attacker supplies a styled-text string containing an <img> tag whose attribute carries an empty value (for example, an attribute written with nothing after the equals sign). The parsers' downstream check, which only accepts non-empty values, fails on the empty string.
  3. Payload / delivery. Delivery is simply the malicious string reaching the text-rendering path; no memory-corruption payload is needed. The "payload" is the malformed markup token itself, which can be embedded in otherwise valid rich text to avoid superficial suspicion.
  4. Post-exploitation impact. The failed check is reported to the default error handler, which halts the device. The attacker achieves an immediate, repeatable denial of service using a single crafted text value; if the text is persisted (e.g., stored in device config, a log, or a remote profile), the device may re-halt on every boot or redraw — a persistent, low-effort availability attack requiring physical intervention to clear.

Impact Assessment

Impact is confined to availability. On successful triggering, the device halts and ceases to perform its function until reset; there is no evidence of confidentiality or integrity impact, nor of code execution. Because the flaw sits in a shared Qt for MCUs text-rendering component, the blast radius spans any product line built on the affected runtime that processes attacker-influenced styled text — a multi-tenant risk for OEMs shipping multiple device models from one firmware base. CVSS score and vector are not available (NVD: N/A), consistent with an unenriched, recently assigned CVE. In practice, an unauthenticated or low-privilege input path to a Text element, combined with a hard halt and possible persisting re-trigger, warrants treating this as a meaningful denial-of-service concern for embedded and IoT deployments, particularly where remote restart or field service is costly.

Detection Guidance

Detection focuses on the characteristic markup token (an <img> tag with an empty attribute value) flowing through text-ingestion channels, and on abnormal device halts.

Sigma Rule

title: Potential Qt for MCUs Styled Text DoS - Empty img Attribute Value
id: 8f2c1b47-0a3d-4c9e-9b21-7c5a6d193950
status: experimental
description: Detects styled text containing an <img> tag with an empty attribute value, the pattern described in CVE-2026-19395 for Qt for MCUs devices.
logsource:
  category: application
  product: custom
detection:
  selection_keyword:
    - '<img'
  selection_empty_attr:
    - '<img src=""'
    - '<img =""'
    - '<img src= >'
    - '<img src =""'
  condition: selection_keyword and selection_empty_attr
falsepositives:
  - Legitimate misconfigured templates
  - QA test data
level: medium
tags:
  - attack.t1203
  - cve.2026.19395

YARA Rule

rule CVE_2026_19395_Qt_MCU_Empty_Img_Attr
{
    meta:
        description = "Detects styled-text payloads with an <img> tag carrying an empty attribute value targeting Qt for MCUs (CVE-2026-19395)"
        author = "valtersit.com"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-19395"
        date = "2026-01-01"
        severity = "medium"
    strings:
        $img = "<img" ascii nocase
        $eq  = "=\"" ascii
        $qt  = "Qt for MCUs" ascii nocase
    condition:
        $img and $eq
}

Suricata IDS Rule

alert http any any -> any any (msg:"CVE-2026-19395 Qt for MCUs Styled Text DoS Attempt (empty img attribute)"; flow:established,to_server; content:"<img"; nocase; http_client_body; pcre:"/<img[^>]*\s[a-zA-Z0-9_:-]+\s*=\s*(\"\"|\'\'|\s*>)/i"; reference:cve,2026-19395; classtype:attempted-dos; sid:202619395; rev:1;)

Elastic Detection

sequence by host.name with maxspan=5s
  [process where event.type == "start" and process.args : "*<img*"]
  [any where event.category == "process" and process.name : ("watchdog*", "init*", "systemd*")]

Splunk SPL Query

index=embedded OR index=device_logs
| search ("<img" AND ("src=\"\"" OR "<img >" OR "<img=\"\""))
| stats count by host, source, _raw
| where count > 0

Wazuh OSSEC Rule

<group name="qt_mcus,cve-2026-19395,">
  <rule id="2026193" level="10">
    <decoded_as>json</decoded_as>
    <match><img</match>
    <regex type="pcre2">src\s*=\s*(\"\"|'')</regex>
    <description>CVE-2026-19395: Styled text with empty img attribute value detected (Qt for MCUs DoS)</description>
    <mitre>
      <id>T1203</id>
    </mitre>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source).

  1. Immediate mitigations. Where possible, upstream sanitize all text before it reaches a Qt for MCUs Text element: strip or reject <img> tags with empty attribute values and validate rich-text markup against an allow-list. If the runtime exposes an application-installable error handler, replace the default halting behavior with a non-fatal handler that logs and continues. Where text input is user-supplied, validate on both the sending application and the device side.
  2. Patch/upgrade steps. No vendor fix or fixed version is available from any tracked source. Monitor the Qt for MCUs advisory/release channels for either a runtime update that tolerates empty attribute values or a change to the error handler. Until a fix ships, apply the mitigations above.
  3. Long-term hardening. Treat rich-text markup as untrusted input by default in embedded graphics pipelines; enforce canonicalization and schema validation on all externally sourced strings; design error handlers so a single malformed token can never escalate to a hard device halt; add resource/watchdog supervision so a parser fault cannot render a device permanently unavailable; and track Qt for MCUs CVEs as part of embedded supply-chain monitoring.

References

  1. NVD — CVE-2026-19395: https://nvd.nist.gov/vuln/detail/CVE-2026-19395
  2. CWE-230 — Improper Handling of Missing Values: https://cwe.mitre.org/data/definitions/230.html
  3. Qt for MCUs product and security information: https://www.qt.io/product/qt-for-mcus
  4. MITRE ATT&CK T1203 — Exploitation for Client Execution: https://attack.mitre.org/techniques/T1203/
  5. CISA Known Exploited Vulnerabilities Catalog (CVE-2026-19395 not listed): https://www.cisa.gov/known-exploited-vulnerabilities-catalog

No public PoC, exploit code, or exploit-in-the-wild evidence is currently associated with CVE-2026-19395.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

product:"Qt"
title:"Qt"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-19395/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.