Skip to main content

Apache PLC4X EUVDEUVD-2026-89680

| CVE-2026-102511 HIGH
Improper Verification of Source of a Communication Channel (CWE-940)
2026-09-30 apache GHSA-jfxw-f7pw-76rc
8.5
CVSS 4.0 · Vendor: apache
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain adjacent network access to discovering host
  2. Delivery
    Send spoofed ADS discovery UDP response
  3. Exploit
    Claimed AmsNetId inserts attacker address in inventory
  4. Execution
    Application connects to discovered device
  5. Impact
    ADS session and route credentials sent to attacker

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V12 - Secure Communication Communication channel verification
Exploitation Conditions

Exploitation requires the consuming application to explicitly invoke the opt-in ADS discovery API (PLC4Go 0.11.0-<1.0.0, or PLC4J ADS/Modbus 0.10.0-<1.0.0 and EtherNet/IP 0.11.0-<1.0.0), and for the credential-redirect impact, to subsequently act on the discovered inventory items by connecting to them. The attacker must be able to send UDP datagrams reaching the discovering host (adjacent/same-segment reachability, AV:A). No authentication is needed to send the spoofed or malformed datagram. The denial-of-service variants (PLC4Go listener panic on a short version block; PLC4J unhandled exceptions; PLC4J Modbus infinite CPU spin on a partial response) only require reaching the discovery listener, but still depend on discovery being invoked. Limiting factors: discovery is not enabled by default, the application must trust and connect to discovered devices, and network positioning is required.

Impact

This is a real but conditionally-gated OT/ICS-library vulnerability, not a headline drive-by. The vendor CVSS 4.0 vector (AV:A/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N, base 8.5) is internally consistent with the description: an adjacent attacker who can send UDP datagrams to the discovering host needs no authentication, but success depends on the application both invoking the opt-in discovery API and then acting on the returned inventory (UI:P). The high VC/VI reflect that discovered-device connections - including configured ADS route credentials - can be redirected to an attacker-chosen host. Exploitation signals are weak: no EPSS score, no CISA KEV listing, and no public exploit code are present in the input, so the correct status is that there is no public exploit identified at time of analysis. The reporter is the Apache Software Foundation itself (coordinated disclosure with a fixed 1.0.0 release), which raises confidence in the technical accuracy but does not indicate in-the-wild use. The one caveat worth flagging: the primary attack is described as redirecting connections to hosts 'outside the local network,' yet the vector is AV:A (adjacent) - the adjacency applies to the initial UDP injection reachability, not the redirect destination, so defenders should treat network-segment access to the discovering host as the true prerequisite. Overall this is a medium-priority issue: genuine credential-exposure impact, but heavily conditioned on non-default, opt-in discovery usage in a niche industrial library.

Exploit ScenarioDerived

An operator runs a PLC4Go/PLC4X-based application that calls the ADS discovery API to enumerate nearby PLCs. An attacker with access to the same network segment sends a single spoofed UDP discovery response whose body claims an AmsNetId resolving to an attacker-controlled host; the discovery result is built from that claimed address rather than the datagram's real source. When the application later connects to the discovered 'device,' it opens an ADS session - including any configured route credentials - to the attacker's host. No public exploit code is identified at this time, though the flaw is straightforward to weaponize given a crafted UDP datagram.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 30, 2026

Improper verification of the source of ADS discovery responses in Apache PLC4X (CWE-940) allows an attacker on the adjacent network to redirect subsequent connections to an arbitrary host by spoofing a UDP discovery response, potentially exposing ADS route credentials. Affected versions are PLC4Go 0.11.0-<1.0.0, PLC4J ADS/Modbus 0.10.0-<1.0.0, and PLC4J EtherNet/IP 0.11.0-<1.0.0. Exploitation requires the consuming application to invoke the opt-in discovery API and act on discovered items; no public exploit identified at time of analysis. Upgrade to 1.0.0 to fix.

RemediationAI

Upgrade to Apache PLC4X 1.0.0, which derives the connection address from the datagram's source address and logs a warning when the claimed AmsNetId disagrees. Vendor advisory: https://lists.apache.org/thread.html/g692j4fklrbo80stjr5ll8xghrwszthf. If upgrade is not possible, disable the discovery API (it is opt-in) or restrict UDP discovery traffic to trusted network segments; note that disabling discovery prevents legitimate device discovery, and network segmentation may require firewall changes. Avoid connecting to discovered devices unless the discovery source is trusted.

Affected VersionsENISA

Apache PLC4X 0.10.0 <1.0.0
Apache PLC4X 0.11.0 <1.0.0

Affected Packages

euvd apache_plc4x fix: 1.0.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability resides in the ADS discovery mechanism of Apache PLC4X, where the connection address for a discovered device is taken from the AmsNetId claimed in the response body instead of the datagram's actual source address (CWE-940). This allows a single spoofed UDP response to insert an inventory entry pointing to any host, including external ones, and any application that connects to discovered devices will open its ADS session-including configured route credentials-to that host. Additionally, discovery listeners in PLC4Go can panic on a short version block, PLC4J ADS and EtherNet/IP discoverers stop on unhandled exceptions from malformed responses, and the PLC4J Modbus discoverer can spin indefinitely consuming CPU on a partial response. The affected components are identified by CPE cpe:2.3:a:apache_software_foundation:apache_plc4x.

Know when Go gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (apache) PRIMARY 8.5 HIGH
CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 7.3 HIGH

Adjacent UDP injection (AV:A), no auth (PR:N), but the app must invoke discovery and act on results (UI:R); credential exposure gives C:H and connection redirect gives I:H, no availability impact for the primary flaw.

3.1 AV:A/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
4.0 AV:A/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (apache).

CVSS VectorVendor: apache

Attack Vector
Adjacent
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 30, 2026 - 09:01 EUVD
CVE Published
Sep 30, 2026 - 08:03 cve.org
HIGH 8.5

DescriptionCVE.org

Improper Verification of Source of a Communication Channel in the ADS discovery of the Go implementation of Apache PLC4X (PLC4Go) allows an attacker able to send UDP datagrams to the discovering host to redirect subsequent connections to an arbitrary, attacker-chosen address. The discovery result's connection address was derived from the AmsNetId claimed in the response body rather than from the datagram's actual source address. One spoofed discovery response can therefore insert an inventory entry pointing at any host, including hosts outside the local network, and an application that connects to discovered devices will open its ADS session, including any configured route credentials, to that host.

Additionally, discovery listeners in both implementations can be disabled by a single malformed datagram:

  • In PLC4Go ADS discovery, a short version block causes a panic that ends the listener for the rest of the discovery call, so legitimate devices answering afterwards are not reported.
  • In PLC4J, the ADS and EtherNet/IP discoverers stop on an unhandled exception from a malformed response.
  • The PLC4J Modbus discoverer can be made to spin indefinitely, consuming a CPU core, by a scanned host that sends a partial response.

Exploitation requires the application to invoke the discovery API, which is opt-in, and for the connection redirect, to act on the discovered items.

This issue affects Apache PLC4X: PLC4Go from 0.11.0 before 1.0.0; PLC4J ADS and Modbus drivers from 0.10.0 before 1.0.0; PLC4J EtherNet/IP driver from 0.11.0 before 1.0.0. PLC4Go is consumed as the Go module github.com/apache/plc4x/plc4go; versions refer to the corresponding Apache PLC4X releases.

Users are recommended to upgrade to version 1.0.0, which fixes the issue. Version 1.0.0 derives the connection address from the datagram's source address and logs a warning when the claimed AmsNetId disagrees with it.

Executive ViewAI

Why It Matters

Apache PLC4X contains a high-severity improper verification vulnerability affecting PLC4Go 0.11.0-<1.0.0, PLC4J ADS/Modbus 0.10.0-<1.0.0, and PLC4J EtherNet/IP 0.11.0-<1.0.0, where an adjacent-network attacker can spoof UDP discovery responses to redirect connections and potentially expose ADS route credentials. Although no public exploit has been identified, the flaw requires the consuming application to use the opt-in discovery API, so organizations with industrial control or OT environments using these components should prioritize remediation. Leadership should care because credential exposure could enable unauthorized access to industrial systems, and the fix is an upgrade to 1.0.0.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
Low
niche industrial-protocol adapter library for OT/ICS integration
Social Media
1
Sightings
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Controlled
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Go

View all
CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2016-5386 HIGH
8.1 Jul 19

The net/http package in Go through 1.6 does not attempt to address RFC 3875 section 4.1.18 namespace conflicts and there

CVE-2025-68121 CRITICAL POC
10.0 Feb 05

Critical certificate validation bypass in Go crypto/tls during session resumption. If ClientCAs or RootCAs fields are mu

CVE-2019-14809 CRITICAL POC
9.8 Aug 13

net/url in Go before 1.11.13 and 1.12.x before 1.12.8 mishandles malformed hosts in URLs, leading to an authorization by

CVE-2026-90942 CRITICAL POC
9.3 Sep 14

Casdoor through 4.4.0 exposes its instance-wide built-in JWT signing private key unmasked through the /api/get-certs and

CVE-2026-101090 CRITICAL POC
9.3 Sep 27

Host header injection in Nezha 2.2.3's OAuth2 redirect endpoint (/api/v1/oauth2/{provider}) allows an unauthenticated re

CVE-2026-78428 HIGH POC
8.8 Sep 17

Session cross-wiring in SUSE NeuVector before 5.6.1 allows an unauthenticated remote attacker to obtain another user's a

CVE-2026-92791 HIGH POC
8.7 Sep 16

Unauthenticated path traversal in Uber Kraken through 0.1.29 allows remote attackers to read files outside the configure

CVE-2018-7187 HIGH POC
8.8 Feb 16

The "go get" implementation in Go 1.9.4, when the -insecure command-line option is used, does not validate the import pa

CVE-2026-16651 HIGH POC
8.7 Sep 21

Denial of service in Temporal Server allows an authenticated caller holding at least namespace read permission to crash

CVE-2026-82405 HIGH POC
8.7 Sep 23

Account takeover in Klever-Go's KleverUpdateAccountPermission built-in (all versions prior to 1.7.20) allows an attacker

CVE-2026-82409 HIGH POC
8.4 Sep 23

Maliciously crafted on-chain account names processed by Klever-Go prior to 1.7.20 are spliced into Elasticsearch _bulk r

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy