CVE-2026-40990
Medium · 5.7CVSS
5.7
EPSS
0.3%
Published
Jun 1, 2026
CISA due date
—
Cloudanix analysis
A flaw in some Spring-based applications can let someone repeatedly trigger memory growth until the application slows down or crashes.
- Exploitation
- Physical Access
- Attacker needs
- Low Privilege
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
CVE-2026-40990 is a denial-of-service flaw in Spring Cloud Function where the Function Registry can be driven to accept an unbounded number of function registrations. Repeated function additions can exhaust JVM heap memory, causing OutOfMemoryError conditions, degraded application behavior, process termination, or container restarts. The primary impact is availability loss; limited integrity impact may occur if unexpected function registration changes application behavior before the service fails.
Why it matters to the business
Applications using affected Spring Cloud Function versions may become unstable or unavailable if an attacker or low-privileged user can trigger repeated function registration. This can interrupt APIs, event-processing workloads, serverless-style functions, message consumers, and dependent business workflows. The CVSS score is moderate and EPSS is currently low with no known KEV listing or public exploit maturity, but the operational impact can still be significant for internet-facing or high-throughput services where memory exhaustion causes cascading outages.
How an attack unfolds
An attacker first needs a path that can influence Spring Cloud Function registration behavior, such as authenticated access, a misconfigured administrative or integration interface, exposed development functionality, or another application feature that causes functions to be added to the Function Registry. The attacker repeatedly submits inputs or actions that cause new function entries to be registered without a practical upper bound. As the registry grows, JVM heap usage increases until garbage collection cannot reclaim enough memory. The application then experiences severe latency, repeated garbage-collection pauses, OutOfMemoryError exceptions, failed requests, process crashes, or container restarts. In orchestrated environments, this may lead to restart loops and service instability until the malicious traffic or triggering condition is removed and the software is upgraded.
How to fix it
Upgrade Spring Cloud Function to a fixed version for the deployed release line: upgrade 3.2.x to 3.2.16 or later, 4.1.x to 4.1.10 or later, 4.2.x to 4.2.6 or later, 4.3.x to 4.3.3 or later, and 5.0.x to 5.0.2 or later. Older unsupported versions should be upgraded to a supported fixed release. If immediate upgrade is not possible, restrict access to any administrative, development, actuator, integration, or custom endpoints that can influence function registration; require strong authentication and authorization; disable unnecessary dynamic registration features; apply rate limits; and set JVM/container memory limits with monitoring so failures are contained rather than cascading. These mitigations reduce exposure but should not be treated as a substitute for applying the fixed Spring Cloud Function version.
How to confirm the fix worked
Confirm the deployed dependency tree no longer includes vulnerable Spring Cloud Function versions. For Maven, review `mvn dependency:tree` output for `org.springframework.cloud:spring-cloud-function-*`; for Gradle, review `gradle dependencies` or dependency lockfiles. Validate that runtime artifacts, container images, and SBOMs show Spring Cloud Function 3.2.16+, 4.1.10+, 4.2.6+, 4.3.3+, or 5.0.2+ as applicable. After upgrading, run application regression tests that exercise function discovery and registration paths, then monitor heap usage under representative load to confirm memory does not grow unbounded. Also verify that any administrative or integration paths capable of registering functions are not anonymously accessible and are protected by authorization and rate limiting.
Typical attack path
- Identify an application or service using an affected Spring Cloud Function version.
- Find an exposed or reachable feature that can cause dynamic function registration or interact with the Function Registry.
- Authenticate or induce required user interaction if the vulnerable path requires it.
- Repeatedly trigger creation or registration of additional functions.
- Drive JVM memory consumption upward until heap exhaustion occurs.
- Cause service degradation, request failures, application crashes, or container restart loops.
How to detect it
To determine whether this was already exploited, review application logs, JVM logs, container logs, orchestrator events, APM telemetry, and ingress/API gateway logs for periods of unexplained heap growth or crashes. Look for `java.lang.OutOfMemoryError`, excessive full garbage collection, sudden increases in registered function counts, repeated application restarts, and request bursts to any endpoint or feature associated with function lookup, function composition, dynamic registration, actuator access, integration management, or custom administrative operations. Correlate memory-exhaustion timestamps with source IPs, authenticated principals, session identifiers, request paths, user agents, and message broker events. In Kubernetes or container platforms, check pod restart counts, OOMKilled events, liveness probe failures, and node memory pressure around the same time. Since no public exploit pattern or named threat actor is currently known for this CVE, detection should focus on behavioral evidence of registry growth and JVM memory exhaustion rather than a single definitive exploit signature.
- java.lang.OutOfMemoryError
- java.lang.OutOfMemoryError: Java heap space
- OutOfMemoryError: GC overhead limit exceeded
- org.springframework.cloud.function
- FunctionRegistry
- FunctionCatalog
- spring-cloud-function
- OOMKilled
- CrashLoopBackOff
- Full GC
- GC overhead limit exceeded
- Application run failed
- java.lang.OutOfMemoryError: Metaspace
What your security team should do
- Inventory applications and container images that include Spring Cloud Function, especially services exposing function, integration, actuator, or administrative capabilities.
- Prioritize upgrades for internet-facing services, message-processing systems, serverless workloads, and applications with high availability requirements.
- Upgrade to the fixed version for the active release line: 3.2.16+, 4.1.10+, 4.2.6+, 4.3.3+, or 5.0.2+.
- For unsupported Spring Cloud Function versions, plan migration to a supported fixed release rather than attempting long-term compensating controls.
- Restrict and monitor access to endpoints or features that can influence function registration.
- Add alerts for rapid JVM heap growth, repeated full garbage collections, OutOfMemoryError events, process crashes, and container restart loops.
- Review application logs for historical memory-exhaustion events correlated with unusual request bursts or authenticated user activity.
- Because EPSS is currently low and the CVE is not in CISA KEV, schedule according to exposure and service criticality, but treat exposed dynamic-registration paths as urgent.
The record
OOM error is possible while attempting to add infinite amount of functions to Function Registry. Affected Spring Products and Versions: Spring Cloud Function 3.2.x: versions prior to 3.2.16 Spring Cloud Function 4.1.x: versions prior to 4.1.10 Spring Cloud Function 4.2.x: versions prior to 4.2.6 Spring Cloud Function 4.3.x: versions prior to 4.3.3 Spring Cloud Function 5.0.x: versions prior to 5.0.2 Older, unsupported versions are also affected.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-114731 Roundcube Webmail before 1.6.20 and 1.7.x before 1.7.5 is affected by an uncontrolled… CWE-770
- CVE-2026-96377 Allocation of Resources Without Limits or Throttling vulnerability in Drupal Combined… CWE-770
- CVE-2026-96365 Allocation of Resources Without Limits or Throttling vulnerability in Drupal Webform… CWE-770
- CVE-2026-114723 Roundcube Webmail before 1.6.20 and 1.7.x before 1.7.5 allows the ImageMagick resource… CWE-770
- CVE-2026-113811 Algorithm::UrataniTakeda versions from 0.1.5 before 0.1.7 for Perl allow memory… CWE-770
- CVE-2026-113795 pypdf is a free and open-source pure-python PDF library. CWE-770
- CVE-2026-112400 Pillow is a Python imaging library. CWE-770
- CVE-2026-111064 AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. CWE-770