CVE-2026-34486

Apache Tomcat Missing Encryption of Sensitive Data (CVE-2026-34486)

Detects potential exploitation or exposure conditions related to CVE-2026-34486, an Apache Tomcat vulnerability (CWE-311: Missing Encryption of Sensitive Data) allowing sensitive data such as credentials, session identifiers, or configuration secrets to be transmitted or stored without adequate encryption. Actively exploited and listed in CISA KEV; associated with CISA BOD 26-04 prioritized remediation guidance. Detection focuses on plaintext transmission of Tomcat-managed credentials/session tokens over unencrypted channels, anomalous access to Tomcat configuration files (server.xml, context.xml, tomcat-users.xml, web.xml) containing sensitive data, and network indicators of cleartext protocol usage to Tomcat listener ports.

Vulnerability Intelligence

KEV — Known Exploited

What is CVE-2026-34486 Apache Tomcat Missing Encryption of Sensitive Data (CVE-2026-34486)?

Apache Tomcat Missing Encryption of Sensitive Data (CVE-2026-34486) (CVE-2026-34486) maps to the Credential Access and Collection and Initial Access tactics — the adversary is trying to steal account names and passwords in MITRE ATT&CK.

This page provides production-ready detection logic for Apache Tomcat Missing Encryption of Sensitive Data (CVE-2026-34486), covering the data sources and telemetry it touches: DeviceProcessEvents, DeviceNetworkEvents. The queries below are rated high severity at medium confidence, and ship for 7 SIEM platforms — KQL, SPL, Elastic, QRadar, Sumo, YARA-L, LogScale.

MITRE ATT&CK

Tactic
Credential Access Collection Initial Access
Microsoft Sentinel / Defender
kusto
// Detect plaintext access/config-file reads and cleartext HTTP traffic to Tomcat services indicative of CVE-2026-34486 exposure
let TomcatPorts = dynamic([8080,8009,80]);
union isfuzzy=true
(DeviceProcessEvents
| where FileName in~ ("cat","type.exe","more.exe","findstr.exe","grep")
| where ProcessCommandLine has_any ("tomcat-users.xml","server.xml","context.xml","web.xml")
| project TimeGenerated, DeviceName, AccountName, ProcessCommandLine, InitiatingProcessFileName),
(DeviceNetworkEvents
| where RemotePort in (TomcatPorts)
| where Protocol == "Tcp" and isnotempty(RemoteUrl)
| where RemoteUrl startswith "http://"
| project TimeGenerated, DeviceName, RemoteIP, RemotePort, RemoteUrl, InitiatingProcessFileName)
| sort by TimeGenerated desc

Identifies local access to sensitive Tomcat configuration files that may contain unencrypted credentials, and cleartext HTTP connections to common Tomcat listener ports, consistent with exploitation of CVE-2026-34486.

high severity medium confidence

Data Sources

DeviceProcessEvents DeviceNetworkEvents

Required Tables

DeviceProcessEvents DeviceNetworkEvents

False Positives

  • Legitimate administrator reviewing Tomcat configuration files for maintenance
  • Internal HTTP traffic on lab/dev networks where TLS termination happens upstream
  • Automated configuration management tools (Ansible/Chef/Puppet) reading config files as part of normal deployment

Sigma rule & cross-platform mapping

The detection logic for Apache Tomcat Missing Encryption of Sensitive Data (CVE-2026-34486) (CVE-2026-34486) above is provided in a vendor-neutral form so you can deploy it on any SIEM. The same logic is shipped here as native KQL (Microsoft Sentinel / Defender), SPL (Splunk), Elastic (Elastic Security (EQL)), QRadar (IBM QRadar (AQL)), Sumo (Sumo Logic CSE), YARA-L (Google Chronicle / SecOps), LogScale (CrowdStrike LogScale (CQL)) queries. In Sigma terms, this detection targets the following logsource:

logsource:
  category: process_creation
  product: windows

Browse the community-maintained Sigma rules for this technique:


Testing Methodology

Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Simulate cleartext credential exposure in tomcat-users.xml

    Expected signal: File creation and read events for tomcat-users.xml containing plaintext credential strings

  2. Test 2Simulate cleartext HTTP request to Tomcat port

    Expected signal: Network connection event to destination port 8080 using HTTP protocol without TLS

  3. Test 3Simulate access to Tomcat server.xml configuration file

    Expected signal: DeviceProcessEvents/DeviceFileEvents showing PowerShell reading server.xml with connector definitions

  4. Test 4Simulate AJP cleartext connector probe

    Expected signal: Network connection attempt logged to destination port 8009 (AJP) without TLS negotiation


Response Playbook

Triage

  1. Confirm the affected host is running Apache Tomcat and identify the version to verify it falls within scope of CVE-2026-34486 (missing encryption of sensitive data, CWE-311).
  2. Review Tomcat configuration files (server.xml, context.xml, tomcat-users.xml, web.xml) for cleartext credentials, session secrets, or connector definitions lacking SSL/TLS enforcement.
  3. Check network traffic logs for cleartext HTTP sessions on Tomcat listener ports (80, 8080, 8009/AJP) to determine if sensitive data was transmitted unencrypted.
  4. Correlate any alerts with CISA KEV status and BOD 26-04 prioritized remediation timelines to determine urgency of response.

Containment

  1. Enforce TLS on all Tomcat connectors (HTTP and AJP) and disable or restrict plaintext listeners to internal-only, firewalled segments.
  2. Rotate any credentials or session tokens discovered in plaintext configuration files or logs, including tomcat-users.xml entries.

Evidence Collection

  1. Preserve copies of Tomcat configuration files (server.xml, context.xml, tomcat-users.xml, web.xml) and access logs from the time window of suspected exposure.
  2. Capture network packet captures or flow logs showing cleartext sessions to/from the affected Tomcat instance for forensic review.

Escalation Criteria

  • ! Escalate to incident response if evidence shows sensitive credentials or session tokens were transmitted in cleartext and potentially intercepted by an unauthorized party.
  • ! Escalate to vulnerability management/patch teams if the Tomcat instance is internet-facing and unpatched, given active KEV exploitation status and BOD 26-04 mandated remediation deadlines.

Investigation Guide

Forensic Artifacts

  • > Tomcat configuration files: server.xml, context.xml, tomcat-users.xml, web.xml
  • > Tomcat access and catalina logs showing connector protocol usage and client IPs
  • > Network flow/packet capture data showing cleartext HTTP or AJP sessions to Tomcat ports

Tuning Guidance

Baseline expected administrative access patterns to Tomcat configuration files (who, when, from where) to reduce noise from legitimate config management. Exclude known internal load balancers or health-check sources that intentionally use cleartext HTTP within segmented, low-risk network zones. Increase confidence when config file access is followed closely by outbound network connections or when the host is internet-facing.


Hunting Queries

Hunts for recent modifications to Tomcat configuration files and repeated cleartext HTTP access patterns that may indicate reconnaissance or active exploitation of the missing-encryption weakness.

Hunting — KQL
kql
DeviceFileEvents
| where FileName in~ ("tomcat-users.xml","server.xml","context.xml","web.xml")
| where ActionType in ("FileModified","FileCreated")
| project TimeGenerated, DeviceName, FileName, InitiatingProcessAccountName
Hunting — SPL
spl
index=* sourcetype=tomcat_access
| search "http://" AND ("8080" OR "8009")
| stats count by host, uri, clientip
| sort -count

Atomic Red Team Tests

Test 1 Simulate cleartext credential exposure in tomcat-users.xml
linux

Creates a test tomcat-users.xml file containing a plaintext password to simulate the missing-encryption condition described in CVE-2026-34486.

Command

bash
mkdir -p /tmp/atomic-tomcat && printf '<tomcat-users>\n  <user username="testadmin" password="PlaintextPass123" roles="manager-gui"/>\n</tomcat-users>' > /tmp/atomic-tomcat/tomcat-users.xml && cat /tmp/atomic-tomcat/tomcat-users.xml

Cleanup

bash
rm -rf /tmp/atomic-tomcat

Expected Telemetry

File creation and read events for tomcat-users.xml containing plaintext credential strings

Expected Detection

KQL/SPL rule flags process access to tomcat-users.xml with sensitive keyword match

Test 2 Simulate cleartext HTTP request to Tomcat port
linux

Sends an HTTP (non-TLS) request to a local test listener on port 8080 to simulate cleartext transmission to a Tomcat connector.

Command

bash
python3 -m http.server 8080 --bind 127.0.0.1 & sleep 1; curl -s http://127.0.0.1:8080/manager/html -o /dev/null; kill %1

Cleanup

bash
pkill -f 'http.server 8080' || true

Expected Telemetry

Network connection event to destination port 8080 using HTTP protocol without TLS

Expected Detection

EQL/QRadar rule flags cleartext HTTP session to Tomcat listener port

Test 3 Simulate access to Tomcat server.xml configuration file
windows

Reads a mock server.xml file to simulate an attacker or insider accessing Tomcat connector configuration that may lack SSL enforcement.

Command

powershell
New-Item -Path $env:TEMP\server.xml -ItemType File -Value '<Server><Connector port="8080" protocol="HTTP/1.1"/></Server>' -Force; Get-Content $env:TEMP\server.xml

Cleanup

powershell
Remove-Item $env:TEMP\server.xml -Force

Expected Telemetry

DeviceProcessEvents/DeviceFileEvents showing PowerShell reading server.xml with connector definitions

Expected Detection

KQL rule flags process command line referencing server.xml file access

Test 4 Simulate AJP cleartext connector probe
macos

Attempts a raw TCP connection to port 8009 (AJP) to simulate probing of an unencrypted Tomcat AJP connector, a known vector for missing-encryption exposure.

Command

bash
nc -zv 127.0.0.1 8009

Cleanup

bash
true

Expected Telemetry

Network connection attempt logged to destination port 8009 (AJP) without TLS negotiation

Expected Detection

Chronicle/CrowdStrike rule flags network connection to AJP port 8009

Related Detections