Lantronix EDS5000 Command Injection — CVE-2025-67038

OT serial-to-Ethernet converter — unauthenticated root command injection via LuCI JSON-RPC auth endpoint. CISA KEV, exploited in the wild.
Threat
CVE-2025-67038 · EDS5000 series
Severity
EXPLOITED ITW · CVSS 9.8
Type
OT/ICS edge appliance · code injection
Access
Network (unauthenticated)
Version
v0.1 · 2026-06-27
Author
HuntPack
Confidence
High (CISA KEV + corroborated)
01

Executive Summary

CVE-2025-67038 is a CVSS 9.8 OS command-injection flaw in the Lantronix EDS5000 family of serial-to-Ethernet converters (EDS5008 / EDS5016 / EDS5032, firmware 2.1.0.0R3). These devices run an OpenWRT-based LuCI web stack. When HTTP authentication fails, the LuCI JSON-RPC module shells out to write a log entry and concatenates the supplied username directly into that shell command with no sanitization. An attacker sends a crafted failed-login request to /cgi-bin/luci/rpc/auth with shell metacharacters in the username field, and the injected commands run as root on the appliance.

The attacker objective is a foothold on an OT/ICS choke point: these converters bridge legacy serial automation gear to IP networks, so root on the device gives an adversary a pivot toward downstream physical/automation processes and a quiet vantage point inside the OT segment. Public disclosure came via the "BRIDGE:BREAK" research in April 2026; honeypot exploitation was observed 2026-04-05 through 2026-06-03, alongside a parallel LuCI credential brute-force campaign (~4,100+ attempts) from 2026-01-28 to 2026-06-06. CISA added the CVE to the KEV catalog on 2026-06-23. Roughly 31,850 internet-exposed OpenWRT LuCI devices were observed during the research.

Defensive reality (read this first): the EDS5000 is an embedded OT appliance — Falcon EDR does not run on it. There is no process/file/registry telemetry from the device itself. This hunt is therefore framed around the telemetry you do have: (1) network/proxy/firewall logs for inbound exploitation to /cgi-bin/luci/rpc/auth and connections involving the IOC IPs, (2) post-exploitation pivots landing on Falcon-covered Windows/Linux hosts that manage or talk to these devices, and (3) anomalous outbound traffic originating from the OT segment. Treat the appliance as an unmonitored root-capable box adjacent to your crown-jewel OT processes.

Defender priority: The device is patched only in EDS5000 2.2.0.0R1 (released 2026-02-20). Until every EDS5000 is upgraded and pulled off any internet-reachable path, assume the appliance can be rooted unauthenticated. Hunt the blast radius — the managed/engineering workstations and the OT segment egress — because that is where Falcon can actually see the adversary.

02

Source Review & Web Hunter Notes

All facts and indicators in this pack trace to the five cited sources below. No IOC or claim was synthesized beyond what these sources state.

TierSourceKey FindingCarry Forward
1 · GovCISA KEV addition (2026-06-23)CVE-2025-67038 added to KEV; BOD remediation timeline applies. Confirms in-the-wild exploitation.Yes
2 · NewsThe Hacker NewsCISA warns of critical Lantronix EDS5000 flaw; mechanism and affected models summarized.Yes
2 · NewsSecurityWeekSerial-to-IP converter flaw exploited in attacks following OT threat warning.Yes
3 · ResearchThreat-Modeling.comTechnical write-up of the code-injection mechanism, endpoint, and KEV context.Yes
3 · ResearchSecurity AffairsKEV addition reporting (Ubiquiti UniFi OS + Lantronix EDS5000); exploitation context.Yes

Web-hunter note: Atomic indicators are limited to two exploitation-source IPs and one threat-actor handle. There are no published file hashes or C2 domains for the appliance-side activity (expected — the implant lives on an embedded device with no public sample). The CSV import block in §10 therefore ships the two IPs as real values and uses REPLACE_WITH_… placeholders for any host-side artifacts you confirm during your own hunt.

03

Hunt Brief & Attack Chain

Hunt hypotheses (ordered by fidelity)

#HypothesisMITRETelemetryConf
H1An external host connected to an EDS5000 / OT-segment device from one of the two known exploitation IPs (38.207.136.2, 218.13.42.36).T1190NetworkConnectIP4 (perimeter/Falcon-host)High
H2Inbound HTTP requests target /cgi-bin/luci/rpc/auth with shell metacharacters in the username field (command injection on failed auth).T1190Web/proxy/WAF logs (native)High
H3A Falcon-covered management/engineering workstation initiated outbound to the IOC IPs or hosts the same LuCI exploitation traffic outbound (jump-box pivot).T1190, T1133NetworkConnectIP4High
H4A Falcon-covered host that normally manages EDS5000 devices shows anomalous new outbound connections to the OT segment or to external infrastructure shortly after exploitation window.T1078, T1572NetworkConnectIP4Medium
H5Brute-force precursor: repeated failed LuCI logins (4 usernames, 200+ passwords, ~4,100+ attempts) against OT-segment web admin interfaces.T1110Web/proxy logs (native)Medium
H6A managed host resolves DNS for, or beacons to, infrastructure associated with the exploitation IPs (egress staging / data relay from OT).T1071, T1041DnsRequest, NetworkConnectIP4Medium

Attack chain

StepActionTelemetryHunt Angle
1 · ReconInternet scan for exposed OpenWRT/LuCI devices (~31,850 observed).Perimeter/web logsInbound scanning to LuCI paths from untrusted sources.
2 · Brute forceLuCI credential brute-force (2026-01-28 → 2026-06-06).Web/proxy auth logsHigh volume of failed /cgi-bin/luci/ logins, few usernames / many passwords.
3 · ExploitCrafted failed-auth request to /cgi-bin/luci/rpc/auth; shell metacharacters in username → command injection.Web/proxy/WAF logsUsername field containing ; | ` $( & shell tokens.
4 · Execution (root)Injected OS commands run as root on the appliance.EDR BLIND — no Falcon on deviceInfer from downstream egress / pivot only.
5 · PivotUse rooted converter as a foothold toward OT/automation and IP-side managed hosts.NetworkConnectIP4 (Falcon hosts)New flows between OT segment and Falcon-covered hosts; IOC-IP touches.
6 · Impact / persistenceDownstream physical/automation impact; outbound staging from OT.NetworkConnectIP4, DnsRequestAnomalous outbound from OT segment; beaconing from managed hosts.
04

Consolidated IOC Table

TypeValueConfidenceActionContext
IPv438.207.136.2HighdetectExploitation source IP (honeypot-observed). Block inbound to OT/LuCI; alert on any internal touch.
IPv4218.13.42.36HighdetectExploitation source IP (honeypot-observed). Block inbound to OT/LuCI; alert on any internal touch.
URI path/cgi-bin/luci/rpc/authHighhuntVulnerable LuCI JSON-RPC auth endpoint. Inbound requests here to EDS5000 are the exploitation vector.
BehaviorShell metacharacters in LuCI username paramHighhunt; | & ` $( in the username field on a failed-auth request = injection attempt.
Actor handleChaya_006MediumenrichThreat-actor handle associated with the campaign / brute-force activity. Pivot/attribution context only.
Vuln signatureEDS5000 firmware 2.1.0.0R3HighhuntVulnerable firmware. Patched build is 2.2.0.0R1 (2026-02-20). Inventory-driven hunt.

No file hashes or C2 domains were published for the appliance-side implant — do not fabricate any. The two IPs and the endpoint/behavior signatures above are the complete atomic IOC set from the cited intel.

05

Affected Surface & Telemetry Matrix

SurfaceRequired TelemetryPriorityGap Risk
EDS5000 appliance (EDS5008/5016/5032, fw 2.1.0.0R3)Device syslog / LuCI access logs (if forwarded)CriticalEDR BLIND — no Falcon agent on appliance
Perimeter / OT firewall / reverse proxyHTTP request logs, allow/deny flow logsCriticalNative only — confirm logs reach SIEM ⚠
Falcon-covered management / engineering workstationsNetworkConnectIP4, DnsRequest, ProcessRollup2HighGood — Falcon present
Falcon-covered jump hosts / OT DMZ serversNetworkConnectIP4, DnsRequestHighGood — Falcon present
OT segment egressFirewall/NetFlow + Falcon on any monitored relay hostHighPartial — flow data may be native ⚠

⚠ Tenant validation: Whether the EDS5000 sits behind a Falcon-monitored network sensor, and whether perimeter/OT-firewall HTTP logs are ingested into Falcon NGSIEM, is environment-specific. Confirm which of these feeds actually land in your repo before relying on §8 queries that assume web-log telemetry.

06

ATT&CK Mapping

TacticTechniqueObserved BehaviorQuery / Control
Initial AccessT1190 · Exploit Public-Facing ApplicationCommand injection via failed-auth request to LuCI /cgi-bin/luci/rpc/auth.Q1, Q2, Q5 / Patch + segmentation
Initial AccessT1133 · External Remote ServicesInternet-exposed OT management interface (~31,850 LuCI devices observed).Q1, Q3 / Remove internet exposure
Credential AccessT1110 · Brute ForceLuCI credential brute-force (4 usernames, 200+ passwords, ~4,100+ attempts).Q5 / Lockout + rate-limit
ExecutionT1059 · Command and Scripting InterpreterInjected OS commands execute as root on the appliance.EDR blind / Patch
Lateral MovementT1078 · Valid AccountsRooted converter used to pivot toward managed IP-side hosts.Q3, Q4 / Segmentation + MFA on mgmt
Command & ControlT1572 · Protocol TunnelingTunneling through the OT choke-point toward external infra.Q4, Q6 / Egress filtering
Command & ControlT1071 · Application Layer ProtocolBeaconing / app-layer C2 from managed hosts after pivot.Q6 / Egress filtering + DNS monitoring
Exfiltration / ImpactT1041 · Exfil Over C2 · (OT impact)Staging/exfil from OT; downstream automation/physical impact.Q4, Q6 / OT segmentation
07

Native Audit-Log Hunts (non-CQL)

Because the appliance is EDR-blind, these non-Falcon checks carry the front-line detection weight. Run them against the telemetry where the EDS5000's exploitation actually shows up.

Web / proxy / WAF / OT-firewall logs

  • Exploitation endpoint: any HTTP request to /cgi-bin/luci/rpc/auth destined for an EDS5000 / OT-segment device. Treat inbound from the public internet as a finding.
  • Injection signature: requests to that path whose username JSON field contains shell metacharacters — ;, |, &&, backtick, $(, >, newline-encoded payloads.
  • Brute-force precursor: bursts of failed LuCI logins — small username set (≈4) against a large password set (200+), totalling thousands of attempts over the 2026-01-28 → 2026-06-06 window.
  • IOC source IPs: any request (success or fail) sourced from 38.207.136.2 or 218.13.42.36.

Appliance / device syslog (if forwarded)

  • LuCI auth-failure log lines that contain unexpected shell output or command echoes — a side effect of the injected command running during the "log the failure" routine.
  • Unexpected new processes, outbound connections, or config changes on the device in the exploitation window (2026-04-05 → 2026-06-03) — only visible if device logging is centralized.

Inventory / vulnerability management

  • Enumerate every EDS5008/EDS5016/EDS5032 and confirm firmware. Any unit still on 2.1.0.0R3 (or anything below 2.2.0.0R1) is vulnerable and in scope.
08

CrowdStrike LogScale CQL Hunt Queries

Pick your tenant's cloud first — every "Open in Falcon" button below uses this selection.

Scope note: Falcon cannot see the appliance. Q1/Q3/Q4/Q6 hunt Falcon-host network telemetry (the pivot & egress blast radius); Q2/Q5 assume web/proxy logs have been ingested into NGSIEM and use snake_case parser fields — adjust the field names to your parser. Anything you must validate in-tenant is marked .

Q1 · IOC-IP touch from any Falcon host
CONF HIGHFP LOWCOST LOW

Looks for: any Falcon-covered host making or receiving a connection involving the two known exploitation IPs. Highest-fidelity hunt in the pack — a single hit is investigation-worthy.

// HUNT: EDS5000 exploitation-IP touch on a Falcon host
// MITRE: T1190, T1078
// CONF: high  FP: low  COST: low | REQUIRES: NetworkConnectIP4
// FALSE POSITIVES: none expected — these IPs have no legitimate business use
#event_simpleName=/NetworkConnectIP4/
| in(RemoteAddressIP4, values=["38.207.136.2", "218.13.42.36"])
| table([ComputerName, aid, RemoteAddressIP4, RemotePort, LocalPort, ConnectionDirection, ContextBaseFileName], limit=200)
Q2 · LuCI auth endpoint injection in web logs
CONF HIGHFP MEDCOST LOW

Looks for: inbound requests to the vulnerable LuCI auth endpoint whose request body/username carries shell metacharacters. FP: legitimate LuCI admin logins hit the same path — the injection regex on shell tokens is what separates exploitation from normal auth; exclude your known OT-admin source IPs. ⚠ snake_case parser fields — confirm your web-log parser names.

// HUNT: Command injection against LuCI /cgi-bin/luci/rpc/auth
// MITRE: T1190, T1059
// CONF: high  FP: medium  COST: low | REQUIRES: ingested web/proxy/WAF logs (NGSIEM)
// FALSE POSITIVES: normal LuCI logins on the same path; security scanners
// TUNING: exclude known OT-admin/jump-box source IPs; alert only when shell tokens present
url=/\/cgi-bin\/luci\/rpc\/auth/i
| request_body=/(?:[;`|]|\$\(|&&|%3B|%60|%7C)/
| table([@timestamp, src_ip, dst_ip, method, status, url, http_user_agent], limit=200)
Q3 · Managed host → IOC-IP outbound (pivot egress)
CONF HIGHFP LOWCOST LOW

Looks for: outbound-direction connections from a Falcon host to the IOC IPs — a managed/engineering workstation or jump box reaching exploitation infrastructure (post-compromise relay).

// HUNT: Managed host beaconing to EDS5000 exploitation infra
// MITRE: T1078, T1071
// CONF: high  FP: low  COST: low | REQUIRES: NetworkConnectIP4
// FALSE POSITIVES: none expected for these specific IPs
#event_simpleName=/NetworkConnectIP4/
| ConnectionDirection=/0/
| in(RemoteAddressIP4, values=["38.207.136.2", "218.13.42.36"])
| groupBy([ComputerName, aid, RemoteAddressIP4], function=([count(as=hits), collect([RemotePort, ContextBaseFileName])]))
| table([ComputerName, aid, RemoteAddressIP4, RemotePort, hits, ContextBaseFileName], limit=200)
Q4 · Anomalous new outbound from OT-segment hosts
CONF MEDFP MEDCOST MED

Looks for: Falcon hosts in the OT/management subnet making outbound connections to public (non-RFC1918) destinations — OT hosts should rarely talk to the internet. FP: legitimate update/telemetry endpoints and NTP/DNS; baseline normal OT egress and exclude it. ⚠ Replace the LocalAddressIP4 CIDR with your real OT-segment range.

// HUNT: Unexpected internet egress from the OT/management segment
// MITRE: T1572, T1041
// CONF: medium  FP: medium  COST: medium | REQUIRES: NetworkConnectIP4 + OT-subnet definition
// FALSE POSITIVES: vendor update servers, NTP, DNS, monitoring callbacks
// TUNING: exclude approved OT egress destinations; replace 10.50.0.0/16 with your OT CIDR
#event_simpleName=/NetworkConnectIP4/
| ConnectionDirection=/0/
| LocalAddressIP4=/^10\.50\./
| RemoteAddressIP4!=/^(10\.|192\.168\.|172\.(1[6-9]|2[0-9]|3[01])\.)/
| groupBy([ComputerName, RemoteAddressIP4, RemotePort], function=count(as=conns))
| conns >= 1
| sort(conns, order=desc)
| table([ComputerName, RemoteAddressIP4, RemotePort, conns], limit=200)
Q5 · LuCI credential brute-force burst (web logs)
CONF MEDFP MEDCOST MED

Looks for: the brute-force precursor — many failed LuCI auth attempts from a single source over a window. FP: a misconfigured monitoring probe or a forgetful admin can generate failures; the campaign profile (few usernames, 200+ passwords, thousands of tries) is the discriminator. ⚠ snake_case parser fields — confirm names & failure-status mapping in your tenant.

// HUNT: LuCI credential brute-force against OT web admin
// MITRE: T1110
// CONF: medium  FP: medium  COST: medium | REQUIRES: ingested web/proxy auth logs (NGSIEM)
// FALSE POSITIVES: monitoring probes, locked-out admins, scanners
// TUNING: raise the fail threshold to your environment baseline; exclude known probe IPs
url=/\/cgi-bin\/luci/i
| status=/40[13]/
| groupBy([src_ip, dst_ip], function=([count(as=fails), count(url, distinct=true, as=paths)]))
| fails >= 50
| sort(fails, order=desc)
| table([src_ip, dst_ip, fails, paths], limit=200)
Q6 · DNS / beacon from managed hosts (post-pivot)
CONF MEDFP MEDCOST MED

Looks for: Falcon hosts that manage EDS5000 devices generating repetitive, regular-interval outbound connections (beaconing) after the exploitation window — a downstream C2 signal. FP: software-update pollers and SaaS agents beacon legitimately; scope to your management/jump-host AID set and exclude approved destinations. ⚠ Populate the host filter with your EDS5000 management hosts.

// HUNT: Beacon-like egress from EDS5000 management hosts
// MITRE: T1071, T1572
// CONF: medium  FP: medium  COST: medium | REQUIRES: NetworkConnectIP4
// FALSE POSITIVES: update pollers, telemetry agents, CDNs
// TUNING: restrict ComputerName to mgmt/jump hosts; exclude approved beaconing endpoints
#event_simpleName=/NetworkConnectIP4/
| ConnectionDirection=/0/
| ComputerName=/^(MGMT|JUMP|ENG)-/i
| RemoteAddressIP4!=/^(10\.|192\.168\.|172\.(1[6-9]|2[0-9]|3[01])\.)/
| groupBy([ComputerName, RemoteAddressIP4], function=([count(as=conns), count(RemotePort, distinct=true, as=ports)]))
| conns >= 12
| sort(conns, order=desc)
| table([ComputerName, RemoteAddressIP4, conns, ports], limit=200)
09

CrowdStrike Custom IOA Recommendations

The appliance itself can't carry an IOA (no agent). The IOA opportunity is on the managed/Falcon-covered hosts in the blast radius. Promote sparingly — most queries here stay Investigate-only because the device-side execution is invisible.

CandidateTypePatternDisposition
EDS5000 exploitation-IP network IOANetwork-connection IOA / Custom IOCAny connection to 38.207.136.2 or 218.13.42.36 on a managed host.Promote → Detect/Prevent — clean, no legit use
OT-segment internet egressNetwork-connection IOA (scoped to OT host group)Outbound from OT host group to non-RFC1918 destination.Pilot as Detect — baseline first (Q4)
LuCI injection (web log)NGSIEM scheduled detectionQ2 as a scheduled search → alert.Investigate / schedule — needs web-log feed
Brute-force burst (web log)NGSIEM scheduled detectionQ5 as a scheduled search → alert.Investigate / schedule

Recommended IOC-Management entry: add both IPs as prevent on your managed-host policy and detect at the network layer. This is the one place Falcon can hard-stop blast-radius activity even though it can't see the device.

10

Machine-Readable IOC Appendix

Quick-copy blocks for bulk ingestion and field hunts. The two exploitation IPs are real, published values; host-side artifacts use REPLACE_WITH_… placeholders to be filled from your own findings — no fabricated indicators.

Falcon IOC Management CSVbulk import
type,value,action,severity,expiration,description,tags
ipv4,38.207.136.2,prevent,critical,2026-12-27,EDS5000 CVE-2025-67038 exploitation source,campaign:Lantronix-EDS5000
ipv4,218.13.42.36,prevent,critical,2026-12-27,EDS5000 CVE-2025-67038 exploitation source,campaign:Lantronix-EDS5000
domain,REPLACE_WITH_C2_IF_FOUND,detect,high,2026-09-27,EDS5000 pivot C2 (confirm in hunt),campaign:Lantronix-EDS5000
sha256,REPLACE_WITH_HOST_ARTIFACT,detect,high,2026-12-27,host-side artifact from pivot host,campaign:Lantronix-EDS5000
Behavioral Signatureshunt patterns
Endpoint    : /cgi-bin/luci/rpc/auth   (LuCI JSON-RPC auth)
Vector      : shell metacharacters in JSON "username" on FAILED auth
Tokens      : ;  |  &&  `  $(  >  newline-encoded payloads
Precursor   : LuCI brute-force — 4 usernames / 200+ passwords / ~4100+ tries
Actor handle: Chaya_006
Window      : exploit 2026-04-05..2026-06-03 ; brute 2026-01-28..2026-06-06
Affected / Patched Buildsinventory hunt
vendor   : Lantronix
product  : EDS5000 series (EDS5008, EDS5016, EDS5032)
vulnerable_firmware : 2.1.0.0R3
patched_firmware    : 2.2.0.0R1   (released 2026-02-20)
cve      : CVE-2025-67038   cvss: 9.8   kev_added: 2026-06-23
action   : inventory all units; flag any build < 2.2.0.0R1 as IN-SCOPE
Exposure / Egress Auditchecklist
[ ] EDS5000 LuCI UI reachable from internet?  -> remove exposure
[ ] firewall blocks 38.207.136.2 / 218.13.42.36 inbound + outbound
[ ] OT segment denied egress to internet by default
[ ] LuCI web admin behind VPN / mgmt VLAN only
[ ] failed-auth + brute-force alerting on OT web logs
[ ] all EDS5000 upgraded to 2.2.0.0R1
11

Detection Validation Gates

GateCheckPass Criterion
Telemetry readyConfirm NetworkConnectIP4 flows from management/jump/OT-DMZ hosts reach the repo; confirm whether web/proxy/OT-firewall HTTP logs are ingested into NGSIEM.Q1/Q3 return data on known-good test traffic; Q2/Q5 only deployed if web logs present.
Benign baselineRun Q4 & Q6 over 14 days; capture normal OT egress and management-host beaconing.FP set documented; exclusions added to TUNING lines.
Positive testFrom a lab host, generate a connection to a benign sink standing in for the IOC IPs; send a benign request to the LuCI path with a shell token.Q1/Q3 fire on the connection; Q2 fires on the token request.
Field validation ⚠Confirm src_ip/dst_ip/url/status/request_body parser names and the OT CIDR / mgmt-host naming used in Q2/Q4/Q5/Q6.Parser fields and CIDRs match the tenant before enabling alerts.
PromotionOnly Q1/Q3 (IOC-IP) promote to Detect/Prevent now; others stay Investigate until baselined.IOC IPs added to IOC Management; web-log detections scheduled.
12

Hardening — Tiered

Immediate (this week)
  • Remove internet exposure of LuCI. No EDS5000 management interface should be reachable from the public internet. (MITRE M1035 Limit Access to Resource Over Network; ~31,850 exposed LuCI devices observed — don't be one.)
  • Block the IOC IPs both directions at perimeter and OT firewall: 38.207.136.2, 218.13.42.36. Add both to Falcon IOC Management as prevent (M1037 Filter Network Traffic).
  • Default-deny OT-segment egress. The OT/management VLAN hosting EDS5000 devices should not initiate internet connections; allow-list only required destinations (M1030 Network Segmentation).
Near term (1–4 weeks)
  • Patch to EDS5000 2.2.0.0R1 (released 2026-02-20) on every EDS5008/5016/5032. This is the only build that fixes the injection (M1051 Update Software). Stage via maintenance window per OT change control.
  • Put LuCI admin behind VPN / a dedicated management VLAN reachable only from hardened jump hosts (M1035, M1030).
  • Rate-limit & lock out LuCI auth to blunt the brute-force precursor; alert on failed-auth bursts (M1036 Account Use Policies). ⚠ best-practice — verify the EDS5000/LuCI build supports lockout config
Strategic (1–3 months)
  • OT/IT segmentation per IEC 62443 / Purdue model — converters in a controlled zone with brokered, monitored conduits to IT; no flat reachability to engineering workstations (M1030).
  • Deploy a network sensor / forward OT-firewall & device syslog to NGSIEM so the EDR-blind appliance gains some visibility (telemetry-coverage program). closes the §5 gap
  • Lifecycle plan for OT edge appliances — vendor patch SLAs, firmware inventory automation, and end-of-life replacement for converters that can't be hardened (M1053 / governance).
13

Deployable Playbooks

1 · Perimeter / OT-firewall block (vendor-neutral CLI pattern)

# Block both exploitation IPs inbound AND outbound on the OT boundary.
# Adapt to your firewall syntax (example shown for an iptables-style relay host).

# Inbound — drop anything from the exploitation IPs hitting the OT segment
iptables -I FORWARD -s 38.207.136.2 -j DROP
iptables -I FORWARD -s 218.13.42.36 -j DROP

# Outbound — stop a rooted device / pivot host from reaching them
iptables -I FORWARD -d 38.207.136.2 -j DROP
iptables -I FORWARD -d 218.13.42.36 -j DROP

# Default-deny internet egress from the OT segment (replace CIDR with your range)
iptables -A FORWARD -s 10.50.0.0/16 ! -d 10.0.0.0/8 -j DROP

2 · Falcon IOC Management — bulk prevent (PowerShell, FalconPy / API)

# Push both exploitation IPs to Falcon IOC Management as prevent.
# Requires an API client with IOC Management:write scope.

$iocs = @(
  @{ type='ipv4'; value='38.207.136.2'; action='prevent'; severity='critical';
     description='EDS5000 CVE-2025-67038 exploitation source'; platforms=@('windows','linux') },
  @{ type='ipv4'; value='218.13.42.36'; action='prevent'; severity='critical';
     description='EDS5000 CVE-2025-67038 exploitation source'; platforms=@('windows','linux') }
)
# POST each $ioc to /iocs/entities/indicators/v1 with your bearer token.
# (Use your standard Falcon API wrapper to submit $iocs.)

3 · EDS5000 firmware remediation (operator runbook)

# OT change-controlled upgrade — schedule in a maintenance window.
1. Inventory: list every EDS5008/EDS5016/EDS5032 and current firmware.
2. Flag any unit on 2.1.0.0R3 (or any build < 2.2.0.0R1) as IN-SCOPE.
3. Snapshot/export device config before upgrade.
4. Apply Lantronix EDS5000 firmware 2.2.0.0R1 (released 2026-02-20).
5. Verify firmware = 2.2.0.0R1 post-upgrade; restore validated config.
6. Confirm LuCI UI is NOT internet-reachable; admin only via mgmt VLAN/VPN.
7. Re-run the §10 exposure/egress audit checklist.

Defensive content only. This pack contains no exploit/injection payloads. The "shell token" references in the hunts are detection signatures, not working exploit strings.

14

Containment Runbook

PhaseActionsOwnerEvidence
IsolateFirewall-block the IOC IPs both directions; pull affected EDS5000 units off any internet-reachable path; network-contain (Falcon RTR) any managed host that hit the IOC IPs (Q1/Q3).SOC + OT/NetworkFirewall change tickets; Falcon containment record; Q1/Q3 hit list.
EradicateUpgrade affected appliances to 2.2.0.0R1; treat any rooted device as untrusted — factory-reset + reconfigure from known-good before re-trust; rotate LuCI/admin and any shared OT credentials.OT EngineeringFirmware version proof; config-rebuild record; credential-rotation log.
RecoverRe-introduce devices into a segmented, non-internet-exposed mgmt VLAN; confirm clean egress baseline (Q4/Q6); restore validated automation flows under monitoring.OT + SOCSegmentation config; 14-day clean baseline; monitoring enabled.
LessonsClose exposure gaps, forward device/firewall logs to NGSIEM, document OT patch SLA; brief on Chaya_006 / BRIDGE:BREAK TTPs.Security EngPost-incident report; telemetry-coverage update.
15

Detection Coverage Map

TechniqueBehaviorCQLIOA / IOCCoverage
T1190Inbound exploit to LuCI auth endpointQ2Web-log detectionPartial — needs web-log feed ⚠
T1190 / T1078IOC-IP touch on Falcon hostQ1, Q3IOC Mgmt preventGood
T1110LuCI credential brute-forceQ5Web-log detectionPartial — needs web-log feed ⚠
T1059Root command execution on applianceGAP — EDR-blind appliance; rely on patch + web logs
T1572 / T1041OT-segment egress / tunnelingQ4OT-scoped IOA (pilot)Partial — baseline required
T1071 / T1041Beaconing from managed hosts post-pivotQ6Partial — baseline required
T1133Internet-exposed OT mgmt interfaceQ1, Q3Exposure audit (§10)Good (via hardening)

Known gaps: On-device execution (T1059) is the central gap — Falcon has no agent on the EDS5000, so step 4 of the attack chain is invisible. It is mitigated, not detected: patch to 2.2.0.0R1, remove exposure, and lean on web-log signatures (Q2/Q5) plus blast-radius network hunts (Q1/Q3/Q4/Q6). Web-log-dependent coverage (Q2/Q5) is ⚠ Partial until you confirm OT/proxy HTTP logs are ingested into NGSIEM. Validation gates in §11 gate promotion of Q4/Q6 until a clean baseline exists.

16

Hunt Summary Ticket

TITLE      : Hunt — Lantronix EDS5000 CVE-2025-67038 (OT command injection)
SEVERITY   : CRITICAL (CVSS 9.8 · CISA KEV 2026-06-23 · exploited ITW)
SCOPE      : EDS5000 (EDS5008/5016/5032) fw 2.1.0.0R3 + Falcon-covered mgmt/jump/OT-DMZ hosts
HYPOTHESIS : Unauthenticated root command injection via /cgi-bin/luci/rpc/auth gives an
             OT foothold; detectable in web logs (inbound) and Falcon network telemetry
             (IOC-IP touches, OT egress, mgmt-host beaconing) — appliance itself is EDR-blind.
QUERIES    : Q1 IOC-IP touch · Q2 LuCI injection (web) · Q3 mgmt->IOC egress ·
             Q4 OT egress anomaly · Q5 LuCI brute-force (web) · Q6 mgmt-host beacon
DO FIRST   : Run Q1 + Q3 (IOC IPs 38.207.136.2 / 218.13.42.36). Any hit = escalate.
             Block both IPs; confirm no EDS5000 is internet-exposed.
FINDINGS   : <record Q1/Q3 hits, exposed units, firmware inventory>
GAPS       : On-device execution (T1059) EDR-blind; web-log feed (Q2/Q5) needs validation ⚠
ACTIONS    : Patch -> 2.2.0.0R1 · block IOC IPs · default-deny OT egress · remove exposure
OWNER      : HuntPack
VERSION    : v0.1 · 2026-06-27
17

Changelog

v0.32026-07-24CQL correctness pass. All table() calls now carry an explicit row limit: the default is 200 and truncation is silent, so a capped result was indistinguishable from a complete one. Atomic-IOC sweeps (filters over 5+ hashes or C2 IPs) use limit=max so a wide infection is never silently under-scoped; behavioural hunts use limit=200, where exceeding the cap indicates the query needs tuning. Where present, event names that do not exist in the Falcon data model were corrected (e.g. ServiceInstalled is a Sysmon concept, not a Falcon event; ElfFileWritten is ELFFileWritten) — such queries could never return a row. No detection logic, fields, or IOCs changed.
v0.22026-06-29CQL syntax review (crowdstrike-logscale-v3): replaced non-CQL countDistinct() with count(distinct=true) (Q5, Q6).
v0.12026-06-27Initial HuntPack draft — 6 CQL hunts (2 promotable), web-log + network blast-radius framing, tiered hardening, containment runbook. Built from CISA KEV + 4 corroborating sources; honest EDR-blind coverage gap on the appliance.
18

References

TierSourceUsed ForAccess Date
1 · GovCISA — KEV addition (2026-06-23)KEV status, ITW confirmation, remediation timeline2026-06-27
2 · NewsThe Hacker News — CISA warns Lantronix EDS5000Mechanism, affected models, advisory context2026-06-27
2 · NewsSecurityWeek — converter flaw exploited in attacksExploitation reporting, OT threat context2026-06-27
3 · ResearchThreat-Modeling.com — CVE-2025-67038 analysisInjection mechanism, endpoint, firmware versions2026-06-27
3 · ResearchSecurity Affairs — KEV additionsKEV reporting, exploitation timeline, IOC IPs / actor handle2026-06-27

Generated 2026-06-27 · HuntPack v0.1 · CVE-2025-67038 · All indicators traced to the five cited sources above; no IOC fabricated.