Excerpt: CVE-2026-40272 hits BlackBerry QNX KEV file parsing with a high-severity out-of-bounds write. Teams operating QNX in vehicles, medical devices, industrial controllers, or embedded gateways should treat this as an exposure-management emergency even before exploit code is public.
What defenders need to know right now
ZDI advisory ZDI-26-566 discloses CVE-2026-40272, an unauthenticated remote code execution vulnerability in BlackBerry QNX caused by an out-of-bounds write during KEV file parsing. The public summary states that exploitation requires user interaction: the target must visit a malicious page or open a malicious file. ZDI rates it CVSS 7.8, which is High severity and consistent with client-side/file-parser code execution rather than wormable pre-auth RCE.
The reason this matters beyond a typical desktop file bug is placement. QNX is a real-time operating system embedded in automotive ECUs and infotainment domains, medical devices, rail/industrial controllers, telecom/edge appliances, robotics, and safety-adjacent systems. A parser flaw in that ecosystem is rarely patched by simply pushing a Windows Update. It may require OEM firmware, board support package updates, supplier coordination, validation, downtime windows, and sometimes regulatory change control. The defensive clock starts at inventory, not at patch Tuesday.
Do not overclaim the current exploitation picture. The item provides a ZDI advisory number, CVE, affected component class, attack requirements, and score. It does not confirm public PoC, in-the-wild exploitation, or CISA KEV inclusion in the supplied summary. Treat active exploitation as unconfirmed but plausible-enough-to-hunt because file-parser memory corruption in embedded stacks has a long history of becoming reliable once researchers or vendors publish root-cause details.
Technical analysis
Affected products, versions, and platforms
The supplied advisory names BlackBerry QNX and the vulnerable component as KEV file parsing. It does not enumerate exact QNX Neutrino versions, BSPs, SDK releases, or affected product lines. That absence is operationally important: defenders must not invent a fixed version. Build exposure from where QNX images parse, import, preview, transcode, validate, or otherwise handle .kev content, then confirm affected/fixed builds directly against BlackBerry and OEM advisories.
Practical exposure points to inventory:
- QNX-based devices that accept user-supplied files through browser, email, messaging, USB/SD media, service diagnostics, or companion-app sync.
- Engineering workstations and test benches that open
.kevsamples with QNX tools, emulators, validators, fuzz harnesses, or OEM utilities. - Backend or gateway services that normalize uploaded artifacts for embedded fleets, telemetry portals, OTA update pipelines, or dealer/service diagnostics.
- Vendor-managed images where QNX is bundled under an automotive, medical, industrial, or networking product and the CVE does not appear in your asset inventory under the name BlackBerry.
Vulnerability mechanics from a defender perspective
An out-of-bounds write means the parser writes attacker-influenced data outside an allocated buffer. In file-parsing code, this commonly occurs when length fields, offsets, chunk counts, compression sizes, string tables, or nested structures are trusted without strict bounds checks. If the crafted .kev file can steer the write into adjacent heap metadata, function pointers, vtables, return addresses, or parser state, the result can be control-flow hijack.
The likely attack chain is:
- Attacker delivers a malicious
.kevfile through a web page, download, email attachment, removable media, service workflow, or app synchronization path. - A user or automated service opens, previews, imports, indexes, validates, or converts the file on a QNX device or a connected engineering/backend component.
- The KEV parser processes malformed structures and performs an out-of-bounds write.
- Memory corruption enables arbitrary code execution in the context of the parsing process. On embedded devices, that context may be a privileged service, media/import daemon, diagnostics process, or UI/component with broad hardware access.
User interaction lowers mass-exploitation risk compared with a network-listening pre-auth bug, but it does not make this low priority. Embedded targets often have predictable users: technicians, clinicians, drivers, operators, integrators, and support engineers. Delivery can be highly targeted, and the blast radius can include safety, availability, and fleet-wide update complexity.
Severity, exploit status, and urgency
- CVE: CVE-2026-40272
- Advisory: ZDI-26-566
- Source: http://www.zerodayinitiative.com/advisories/ZDI-26-566/
- CVSS: 7.8 High
- Exploit requirements: Remote attacker; user interaction required; malicious page or malicious file
- Confirmed exploitation: Not stated in the supplied item
- CISA KEV: Not stated in the supplied item; monitor CISA KEV and BlackBerry/OEM advisories for changes
Prioritize environments where compromise would affect safety, availability, regulated data, or hard-to-patch fleets. Even if a browser-mediated desktop path is the obvious trigger, assume attacker creativity around service diagnostics, update ingestion, file conversion, and support workflows.
Detection and response
Detection for QNX parser bugs is telemetry-limited in many enterprises. The best early signal is usually not a magic memory-corruption log; it is a behavioral chain: .kev ingress, an open/import/preview action, an unexpected child process or crash, then outbound network or persistence behavior. Collect Syslog/CEF from embedded gateways where possible, and instrument Windows/Linux engineering systems that handle samples. Tune aggressively; do not deploy broad rules that fire on every downloaded file.
---
title: Suspicious KEV File Handling Followed By Child Process Execution
id: 6f1a0f34-5c6d-4b58-9a26-cve20264027201
status: experimental
description: Detects document/browser/archive/email processes launching command or script execution shortly after handling KEV content, consistent with exploitation of a file parser flaw.
references:
- http://www.zerodayinitiative.com/advisories/ZDI-26-566/
- https://attack.mitre.org/techniques/T1203/
author: Security Arsenal
date: 2026/04/24
tags:
- attack.execution
- attack.t1203
logsource:
category: process_creation
product: windows
detection:
selection_parent:
ParentImage|endswith:
- '\chrome.exe'
- '\msedge.exe'
- '\firefox.exe'
- '\outlook.exe'
- '\winword.exe'
- '\excel.exe'
- '\acrord32.exe'
- '\7z.exe'
- '\winrar.exe'
selection_child:
Image|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\pwsh.exe'
- '\wscript.exe'
- '\cscript.exe'
- '\mshta.exe'
- '\rundll32.exe'
- '\regsvr32.exe'
- '\wmic.exe'
condition: selection_parent and selection_child
falsepositives:
- Legitimate browser-launched installers, email-client add-ins, or archive previews
level: high
---
title: KEV File Written To User Content Locations
id: 8b3d90c2-2a51-4d69-8b41-cve20264027202
status: experimental
description: Detects creation of KEV files in download, temporary, email-cache, or removable-media-adjacent locations to support rapid scoping and retrospective hunting.
references:
- http://www.zerodayinitiative.com/advisories/ZDI-26-566/
- https://attack.mitre.org/techniques/T1105/
author: Security Arsenal
date: 2026/04/24
tags:
- attack.initial_access
- attack.t1105
logsource:
category: file_event
product: windows
detection:
selection_name:
TargetFilename|endswith: '.kev'
selection_path:
TargetFilename|contains:
- '\Downloads\'
- '\AppData\Local\Temp\'
- '\Temporary Internet Files\'
- '\INetCache\'
- '\Outlook\'
- '\Email\'
condition: selection_name and selection_path
falsepositives:
- Legitimate engineering, test, OEM service, or research workflows involving KEV samples
level: medium
---
title: Linux Unix Document Or Archive Handler Spawns Shell After File Open
id: 2d7f58aa-91f4-4e19-b5aa-cve20264027203
status: experimental
description: Detects shells or interpreters launched by document, browser, mail, archive, or indexing processes on Linux Unix systems that may front-end QNX file workflows.
references:
- http://www.zerodayinitiative.com/advisories/ZDI-26-566/
- https://attack.mitre.org/techniques/T1059/
author: Security Arsenal
date: 2026/04/24
tags:
- attack.execution
- attack.t1059.004
logsource:
category: process_creation
product: linux
detection:
selection_parent:
ParentImage|endswith:
- '/chrome'
- '/firefox'
- '/thunderbird'
- '/evolution'
- '/okular'
- '/evince'
- '/unzip'
- '/7z'
- '/tar'
- '/xdg-open'
selection_child:
Image|endswith:
- '/sh'
- '/bash'
- '/dash'
- '/zsh'
- '/python'
- '/python3'
- '/perl'
- '/curl'
- '/wget'
condition: selection_parent and selection_child
falsepositives:
- Developer shells, plugin frameworks, and admin scripts launched intentionally from terminals
level: medium
// Hunt for KEV ingress and suspicious post-open execution across email/web/syslog and endpoint telemetry.
// Scope window to the last 14 days first, then expand after tuning.
let lookback = 14d;
union isfuzzy=true
(
DeviceFileEvents
| where TimeGenerated >= ago(lookback)
| where FileName endswith '.kev' or FolderPath has '.kev'
| project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, FileName, FolderPath, SHA256, ActionType, ReportId
),
(
DeviceProcessEvents
| where TimeGenerated >= ago(lookback)
| where ProcessCommandLine has '.kev' or InitiatingProcessCommandLine has '.kev'
| where FileName in~ ('cmd.exe','powershell.exe','pwsh.exe','wscript.exe','cscript.exe','mshta.exe','rundll32.exe','regsvr32.exe','sh','bash','dash','zsh','python','python3','perl','curl','wget')
| project TimeGenerated, DeviceName, FileName, ProcessCommandLine, InitiatingProcessFileName, InitiatingProcessCommandLine, SHA256, ReportId
),
(
Syslog
| where TimeGenerated >= ago(lookback)
| where SyslogMessage has_any ('kev','qnx','bounds','overflow','corrupt','segfault','SIGSEGV','parser','import')
| project TimeGenerated, Computer, HostIP, ProcessName, SyslogMessage, SeverityLevel
),
(
CommonSecurityLog
| where TimeGenerated >= ago(lookback)
| where Message has_any ('kev','qnx','buffer','overflow','memory corruption','parser','file upload')
| project TimeGenerated, DeviceVendor, DeviceProduct, SourceIP, DestinationIP, SourceUserName, Message, FileName, FileHash, DeviceAction
)
| order by TimeGenerated desc
-- Hunt endpoints and gateways for recent KEV artifacts plus suspicious post-file-open processes.
-- Deploy as a hunt to Windows/Linux collectors; extend globs to mounted removable media and OEM service paths.
LET kev_files <= SELECT FullPath, Size, Mtime, Atime, Ctime
FROM glob(globs=[
'C:/Users/*/Downloads/**/*.kev',
'C:/Users/*/AppData/Local/Temp/**/*.kev',
'/home/*/Downloads/**/*.kev',
'/tmp/**/*.kev',
'/var/tmp/**/*.kev',
'/mnt/**/*.kev',
'/media/**/*.kev'
])
WHERE Mtime > now() - 1209600
LET suspicious_procs <= SELECT Pid, Ppid, Name, Exe, CommandLine, Username, CreateTime
FROM pslist()
WHERE CommandLine =~ '(?i)\.kev|powershell|cmd\.exe|mshta|rundll32|regsvr32|wscript|cscript|/bin/(ba)?sh|python|perl|curl|wget'
AND CreateTime > now() - 1209600
SELECT * FROM kev_files
UNION ALL
SELECT NULL AS FullPath, NULL AS Size, NULL AS Mtime, NULL AS Atime, NULL AS Ctime,
Pid, Ppid, Name, Exe, CommandLine, Username, CreateTime
FROM suspicious_procs
#!/usr/bin/env bash
# Defensive triage for CVE-2026-40272 exposure. Run read-only first; review before enforcing blocks.
set -euo pipefail
printf '[*] Host identity and OS fingerprint\n'
(uname -a || true)
(cat /etc/os-release 2>/dev/null || true)
(command -v qnxversion >/dev/null 2>&1 && qnxversion || true)
printf '[*] Recent KEV artifacts in common ingress locations\n'
find /home /tmp /var/tmp /mnt /media /opt /srv -type f -iname '*.kev' -mtime -14 -printf '%TY-%Tm-%Td %TH:%TM:%TS %p\n' 2>/dev/null | sort -r | head -200
printf '[*] Processes that reference KEV or parser-like workflows\n'
ps -eo pid,ppid,user,comm,args --sort=-start_time | grep -Ei '(^|/| )(.kev|kev|qnx|parse|import|preview|convert|index|diag|ota)' | grep -v grep | head -200 || true
printf '[*] Listening services that may accept files or remote content\n'
(ss -lntup 2>/dev/null || netstat -lntup 2>/dev/null || true) | sed -n '1,200p'
printf '[*] Candidate hardening checks: disable auto-open and executable bits in temp mounts\n'
for m in /tmp /var/tmp /dev/shm; do
if findmnt -no OPTIONS "$m" >/dev/null 2>&1; then
opts=$(findmnt -no OPTIONS "$m")
printf '%s options: %s\n' "$m" "$opts"
echo "$opts" | grep -q 'noexec' || printf 'WARN: %s lacks noexec; evaluate for embedded service images\n' "$m"
fi
done
printf '[*] Egress proxy block candidates to review before enforcing\n'
printf '%s\n' 'Block or alert on MIME/extension .kev at email/web proxies until vendor applicability is confirmed.'
printf '%s\n' 'Disable preview/auto-import for unknown file types in OEM service, diagnostics, and companion-app workflows.'
printf '%s\n' 'Require allowlisted update ingestion and signed artifact validation for QNX OTA pipelines.'
Remediation and risk reduction
- Confirm applicability before declaring a patch state. The supplied item does not list fixed QNX versions. Map every asset that embeds QNX, including products where QNX is hidden inside an OEM image. Open vendor tickets with BlackBerry and the OEM using CVE-2026-40272 / ZDI-26-566 and request explicit affected/fixed build identifiers for your exact product, BSP, SDK, middleware, and firmware branch.
- Patch through the correct channel. For embedded QNX, the fix may arrive as an OS update, BSP update, middleware library replacement, application update, or OEM firmware package. Do not assume a QNX kernel update fixes a userland parser if the vulnerable code lives in an OEM import daemon, SDK tool, or companion service.
- Block and quarantine
.kevuntil applicability is known. At secure email gateways, web proxies, CASB/SSE, upload portals, and service-drop workflows, quarantine.kevby extension and inspect content-type confusion where possible. Add an exception path for engineering and supplier testing with malware detonation and strict egress controls. - Disable risky handling paths. Turn off automatic preview, thumbnail generation, auto-import, indexing, background conversion, and one-click open for
.kevin browsers, file managers, diagnostic consoles, and mobile companion apps. Require explicit user action in a controlled workstation or sandbox for legitimate samples. - Reduce execution impact. On Linux/QNX-adjacent gateways and engineering hosts, mount temp and download locations with
noexec,nodev, andnosuidwhere operationally safe; enforce least privilege for parser/import services; isolate parsers with seccomp/AppArmor/containers or resource-limited service accounts; disable unnecessary protocol handlers and shell-out behavior. - Constrain egress. A file-parser compromise frequently needs a second stage. Deny direct outbound internet from QNX devices, diagnostic benches, and import services except to required update, telemetry, licensing, or OEM endpoints. Alert on first-seen destinations following
.kevhandling or process crashes. - Protect safety and availability domains. For automotive, medical, and industrial deployments, verify that exploitation cannot cross from infotainment, service, telemetry, or update components into control/safety domains. Re-check segmentation, CAN/Ethernet gateway rules, diagnostic authentication, and secure boot chain assumptions.
- Prepare DFIR evidence now. Enable and centralize Syslog/CEF where supported, preserve device images and crash dumps, snapshot engineering workstations before sample analysis, and record hashes for inbound
.kevfiles. If a device may have opened malicious content, capture volatile state before reboot when the platform safely allows it. - Set an internal deadline even without a CISA mandate. There is no supplied CISA deadline. For high-impact fleets, use a risk-based service-level objective: inventory within 72 hours, ingress controls within 7 days, vendor applicability confirmation within 14 days, and validated remediation through the next approved maintenance window unless threat intel escalates to active exploitation.
Executive takeaways for control owners
- Treat this as a supplier and asset-inventory problem as much as a vulnerability. Many organizations will not know QNX is present until they ask OEMs directly.
- User interaction is a speed bump, not a control. Targeted delivery to technicians and operators is realistic in embedded environments.
- Compensating controls are valuable while firmware validation lags: quarantine
.kev, disable auto-handling, restrict egress, isolate parsers, and monitor post-open execution. - Demand explicit affected/fixed statements. Do not accept generic patched language without mapping to your model, firmware, BSP, SDK, and region.
- If the deployment is regulated or safety-relevant, route remediation through change control but do not use process as an excuse for no interim mitigations.
Related Resources
Security Arsenal Penetration Testing Services AlertMonitor Platform Book a SOC Assessment vulnerability-management Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.