CVE-2026-47859 Overview
CVE-2026-47859 affects the RFC6587SyslogDeserializer component in Spring Integration, used by the syslog TCP inbound adapter to decode RFC 6587 and RFC 5424 frames. The deserializer trusts the sender-supplied octet count of an octet-counted frame and allocates a byte array of exactly that size without any upper bound. An authenticated network attacker can send a crafted frame that declares an arbitrarily large octet count, forcing the JVM to allocate excessive memory. The flaw is tracked as an input validation issue affecting Spring Integration versions 5.5.21 and earlier, 6.4.0-6.4.12, 6.5.0-6.5.10, 7.0.0-7.0.5, and 7.1.0.
Critical Impact
Attackers with network access to a syslog TCP inbound adapter can trigger unbounded memory allocation, degrading availability and potentially exposing partial buffer contents.
Affected Products
- Spring Integration 7.1.0
- Spring Integration 7.0.0 - 7.0.5, 6.5.0 - 6.5.10, 6.4.0 - 6.4.12
- Spring Integration 5.5.21 and earlier
Discovery Timeline
- 2026-08-27 - CVE-2026-47859 published to NVD
- 2026-08-27 - Last updated in NVD database
Technical Details for CVE-2026-47859
Vulnerability Analysis
The RFC6587SyslogDeserializer parses two syslog framing modes defined in RFC 6587: non-transparent framing (delimited by newline) and octet-counting framing. In octet-counting mode, the sender prefixes each message with an ASCII decimal length followed by a space, then the message payload. The deserializer reads the length prefix and uses that value directly to allocate a byte[] buffer sized to hold the declared payload.
Because the parser applies no maximum length check, an attacker can transmit a length prefix representing hundreds of megabytes or more. The JVM attempts the allocation immediately upon receiving the prefix, before the full payload arrives. Repeated connections amplify the effect and can exhaust heap memory on the receiving process.
Root Cause
The root cause is improper input validation of an attacker-controlled length field prior to memory allocation. The deserializer treats the octet count as trusted metadata rather than untrusted network input. No configurable ceiling exists in the vulnerable versions to cap the size of an accepted frame.
Attack Vector
Exploitation requires network reachability to a Spring Integration application exposing a syslog TCP inbound adapter, along with the privileges needed to establish a TCP connection to that listener. The attacker sends an octet-counted frame such as 999999999 <payload> and the deserializer allocates the requested buffer. The vulnerability manifests during frame decoding; refer to the Spring Security advisory for CVE-2026-47859 for authoritative technical detail.
// No verified exploit code available.
// See vendor advisory for framing details and reproduction guidance.
Detection Methods for CVE-2026-47859
Indicators of Compromise
- Sudden JVM heap growth or OutOfMemoryError events in applications hosting a Spring Integration syslog TCP inbound adapter.
- TCP connections to syslog listener ports carrying octet-counted frames with unusually large length prefixes.
- Repeated short-lived connections from a single source that trigger allocation spikes without delivering full payloads.
Detection Strategies
- Instrument the syslog adapter with JVM memory metrics and alert on rapid heap consumption during frame decoding.
- Inspect network telemetry for syslog TCP sessions where the initial bytes contain length prefixes exceeding expected message sizes.
- Correlate application-level exceptions from RFC6587SyslogDeserializer with source IP addresses at the network boundary.
Monitoring Recommendations
- Enable verbose logging on Spring Integration syslog channels during triage to capture malformed or oversized frame events.
- Forward JVM garbage collection and heap metrics to a centralized observability platform to spot allocation anomalies.
- Baseline normal syslog message sizes and alert on deviations that exceed operational thresholds.
How to Mitigate CVE-2026-47859
Immediate Actions Required
- Upgrade Spring Integration to a fixed release as listed in the Spring Security advisory for CVE-2026-47859.
- Restrict network access to syslog TCP inbound adapter ports so only trusted senders can connect.
- Audit deployed Spring Integration versions across the estate and prioritize systems that expose syslog listeners to untrusted networks.
Patch Information
Pivotal has published fixed versions and remediation guidance in the Spring Security advisory for CVE-2026-47859. Consult the advisory for the exact fixed version corresponding to each supported branch (5.5.x, 6.4.x, 6.5.x, 7.0.x, 7.1.x).
Workarounds
- Place the syslog TCP endpoint behind a network filter or proxy that enforces a maximum frame size before traffic reaches the JVM.
- Require mutual TLS or IP allow-listing on the syslog TCP adapter to limit exposure to authenticated senders only.
- If octet-counted framing is not required, configure the adapter to accept only non-transparent (newline-delimited) framing.
# Example: restrict syslog TCP listener to a trusted subnet using iptables
iptables -A INPUT -p tcp --dport 1514 -s 10.10.0.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 1514 -j DROP
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

