Description
Memory Allocation with Excessive Size Value, Allocation of Resources Without Limits, and Uncontrolled Recursion in the Java implementation of Apache PLC4X (PLC4J) allow a malicious or impersonated device to exhaust the memory or stack of the client application, causing a denial of service.

In the OPC UA driver these defects are reachable before authentication: the offending data is parsed while the secure channel and session are being established, before the server's identity has been bound to it. Configuring a trusted server therefore does not prevent exploitation by an attacker who can
impersonate it.

The individual defects are:
- Length-prefixed byte strings are allocated at the size claimed on the wire before the length is checked against the data actually received (0.10.0 through 0.13.1).
- Array fields in generated protocol parsers pre-allocate a list with the element count claimed on the wire, allowing a single count field to trigger a multi-gigabyte allocation. This parser is shared by all PLC4J drivers; the OPC UA driver is the verified pre-authentication path (0.10.0 through 0.13.1).
- The OPC UA driver accumulates message chunks without enforcing the negotiated maximum chunk count and message size (0.12.0 through 0.13.1).
- The OPC UA driver pre-allocates collections using element counts received from the server (0.10.0 through 0.13.1).
- Recursive protocol types are parsed without a nesting-depth limit. The same defect in the Go implementation is covered by CVE-2026-102510 https://cveprocess.apache.org/cve5/CVE-2026-102510 .

This issue affects Apache PLC4X: from 0.10.0 before 1.0.0.

Users are recommended to upgrade to version 1.0.0, which fixes the issue.
Published: 2026-09-30
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via resource exhaustion before authentication
Action: Patch
AI Analysis

Impact

The flaw arises from the Apache PLC4X Java implementation allocating memory and stack space based on size values supplied by an external PLC device without validating those values. Length‑prefixed byte strings, array fields, and recursive protocol types are parsed with no bounds, allowing an attacker to instruct the client to allocate huge data structures or recurse deeply. This results in the client consuming excessive memory or stack resources, ultimately causing a denial of service. The vulnerability is CWE‑770, and CWE‑789.

Affected Systems

The affected product is Apache PLC4X, specifically the PLC4J Java implementation and its OPC UA driver. All releases from version 0.10.0 up to but excluding 1.0.0 are vulnerable, with the most recent affected binaries in the 0.13.1 series. The damage manifests when a device speaks to the client before authentication, so any system that hosts a PLC4J client communicating with PLC devices could be impacted.

Risk and Exploitability

The CVSS base score of 8.7 indicates a high severity risk. The EPSS score is not available, but the ability to trigger the flaw before authentication and over an open network suggests a high likelihood of exploitation. The vulnerability is not listed in the CISA KEV catalog, yet an attacker can impersonate a trusted PLC device and initiate the exploit solely through network traffic, making the attack vector relatively straightforward.

Generated by OpenCVE AI on September 30, 2026 at 12:53 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Apache PLC4X client to version 1.0.0 or later to apply the official patch that introduces bounds checks and recursion limits.
  • If an upgrade cannot be performed immediately, block traffic from untrusted sources to the OPC UA driver port to prevent pre‑authentication connections from reaching the vulnerable code.
  • Configure network‑level access controls so that only authenticated, trusted PLC devices are allowed to communicate with the PLC4X client, thereby limiting the exposure to potential attackers.

Generated by OpenCVE AI on September 30, 2026 at 12:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 30 Sep 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 30 Sep 2026 08:30:00 +0000

Type Values Removed Values Added
Description Memory Allocation with Excessive Size Value, Allocation of Resources Without Limits, and Uncontrolled Recursion in the Java implementation of Apache PLC4X (PLC4J) allow a malicious or impersonated device to exhaust the memory or stack of the client application, causing a denial of service. In the OPC UA driver these defects are reachable before authentication: the offending data is parsed while the secure channel and session are being established, before the server's identity has been bound to it. Configuring a trusted server therefore does not prevent exploitation by an attacker who can impersonate it. The individual defects are: - Length-prefixed byte strings are allocated at the size claimed on the wire before the length is checked against the data actually received (0.10.0 through 0.13.1). - Array fields in generated protocol parsers pre-allocate a list with the element count claimed on the wire, allowing a single count field to trigger a multi-gigabyte allocation. This parser is shared by all PLC4J drivers; the OPC UA driver is the verified pre-authentication path (0.10.0 through 0.13.1). - The OPC UA driver accumulates message chunks without enforcing the negotiated maximum chunk count and message size (0.12.0 through 0.13.1). - The OPC UA driver pre-allocates collections using element counts received from the server (0.10.0 through 0.13.1). - Recursive protocol types are parsed without a nesting-depth limit. The same defect in the Go implementation is covered by CVE-2026-102510 https://cveprocess.apache.org/cve5/CVE-2026-102510 . This issue affects Apache PLC4X: from 0.10.0 before 1.0.0. Users are recommended to upgrade to version 1.0.0, which fixes the issue.
Title Apache PLC4X, Apache PLC4X: Pre-authentication resource exhaustion in the OPC UA driver and the Java SPI parser
Weaknesses CWE-674
CWE-770
CWE-789
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: apache

Published:

Updated: 2026-09-30T14:40:06.881Z

Reserved: 2026-09-29T11:41:21.875Z

Link: CVE-2026-102509

cve-icon Vulnrichment

Updated: 2026-09-30T14:40:01.850Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-30T09:17:14.100

Modified: 2026-09-30T16:14:10.347

Link: CVE-2026-102509

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-30T13:00:16Z

Weaknesses
  • CWE-674

    Uncontrolled Recursion

  • CWE-770

    Allocation of Resources Without Limits or Throttling

  • CWE-789

    Memory Allocation with Excessive Size Value