Micronaut Framework Flaw (CVE-2026-33012) Leads to DoS via Unbounded Cache

High-Severity Denial-of-Service Vulnerability (CVE-2026-33012) Disclosed in Micronaut Framework

HIGH
March 18, 2026
4m read
VulnerabilityPatch Management

Related Entities

Products & Tech

CVE Identifiers

CVE-2026-33012
CVSS:7.5

Full Report

Executive Summary

A high-severity denial-of-service (DoS) vulnerability, CVE-2026-33012, has been identified in the Micronaut Framework, a modern, JVM-based framework for building microservices and serverless applications. The vulnerability, rated with a CVSS score of 7.5, allows a remote attacker to trigger an OutOfMemoryError by exhausting the server's heap memory, leading to a complete application crash. The root cause is an unbounded cache within the framework's HTML error response provider. An attacker can force the application to generate and cache an infinite number of unique error pages, causing uncontrolled memory growth. The flaw affects Micronaut versions 4.7.0 through 4.10.6 and has been remediated in version 4.10.7.


Vulnerability Details

The vulnerability exists within the DefaultHtmlErrorResponseBodyProvider class, which is responsible for generating HTML error pages when an exception occurs. To improve performance, this class caches the generated HTML bodies in a ConcurrentHashMap.

The Flaw: The ConcurrentHashMap used for caching was unbounded, meaning it had no limit on the number of entries it could store and no eviction policy to remove old entries. The key for this cache is the error message from the thrown exception.

A remote attacker can exploit this by interacting with an application endpoint in a way that triggers an exception where the error message contains attacker-controlled input. For example, if a request parameter is used in an error message (e.g., "Invalid value provided: [attacker_input]"), the attacker can send a large number of requests with unique values for that parameter. Each request generates a new, unique exception message, which in turn creates a new, unique entry in the unbounded cache. This allows the attacker to force the cache to grow indefinitely, consuming all available heap memory and ultimately causing the JVM to throw an OutOfMemoryError, crashing the application.

This attack is a form of Application Exhaustion Flood, mapped to T1499.003.

Affected Systems

  • Micronaut Framework: Versions 4.7.0 up to, but not including, 4.10.7.

Any application built with an affected version of the Micronaut Framework is potentially vulnerable if it can throw exceptions with user-controllable messages.

Exploitation Status

There are currently no reports of this vulnerability being exploited in the wild. However, the conditions for exploitation are common in many web applications, and the public disclosure increases the risk of opportunistic attacks.

Impact Assessment

The impact of CVE-2026-33012 is a denial of service. An attacker can render any application built on a vulnerable Micronaut version unavailable. This can lead to business disruption, loss of revenue, and damage to customer trust. The attack requires no authentication and can be carried out with simple automated scripts, making it easy to execute. For organizations running critical services on Micronaut, this vulnerability poses a significant operational risk.

Cyber Observables for Detection

Type Value Description Context Confidence
log_source Application logs A java.lang.OutOfMemoryError: Java heap space error in the application logs is a strong indicator of successful exploitation. APM, application logs, SIEM high
other JVM Heap Metrics A steady, continuous increase in JVM heap memory usage that does not decrease after garbage collection cycles. APM, JVM monitoring tools (e.g., JMX) high
network_traffic_pattern High volume of requests with varying parameters An attacker would send many requests to the same endpoint, but with slightly different data in the parameters or body to trigger unique errors. WAF logs, web server access logs medium

Detection Methods

  • Application Performance Monitoring (APM): The most effective way to detect this attack in progress is by monitoring JVM health metrics. Configure alerts in your APM solution for JVM heap memory usage that exceeds a certain threshold (e.g., 90%) and for OutOfMemoryError events. This is a form of D3FEND Process Analysis.
  • Log Analysis: Centralize application logs and create alerts for a high frequency of exception messages originating from the same source IP but with slightly different content. This can indicate an attempt to pollute the error cache.
  • Rate Limiting: While not a direct detection method, implementing rate limiting on API endpoints can slow down an attacker and make the anomalous traffic easier to spot.

Remediation Steps

  1. Update Software (M1051): The only definitive solution is to upgrade the Micronaut Framework to a patched version:
    • Upgrade to version 4.10.7 or newer.

The fix replaces the unbounded ConcurrentHashMap with a ConcurrentLinkedHashMap that is configured with a maximum size of 100 entries. This prevents the cache from growing uncontrollably. This remediation is a direct application of the D3FEND Software Update technique.

  1. Code Review (as a compensating practice): As a general best practice, developers should avoid including raw user input in exception messages. This reduces the attack surface for this and other types of injection or manipulation vulnerabilities. This relates to D3FEND Application Hardening.

Timeline of Events

1
March 18, 2026
This article was published

MITRE ATT&CK Mitigations

Upgrading to Micronaut Framework 4.10.7 or newer is the definitive fix for this vulnerability.

Mapped D3FEND Techniques:

As a general principle, applications should be configured with robust monitoring and alerting on resource consumption to detect exhaustion attacks early.

Mapped D3FEND Techniques:

D3FEND Defensive Countermeasures

The only complete remediation for CVE-2026-33012 is to update the Micronaut Framework dependency in all relevant projects to version 4.10.7 or later. Development teams must identify all microservices and applications built with vulnerable versions (4.7.0 to 4.10.6) and schedule an immediate upgrade. Utilize dependency management tools like Maven or Gradle to enforce the patched version. Furthermore, implement automated dependency analysis tools (e.g., OWASP Dependency-Check, Snyk, Dependabot) within the CI/CD pipeline. These tools can automatically scan for and alert on vulnerable dependencies like this one, ensuring that such flaws are caught before they reach production environments.

To detect potential exploitation of CVE-2026-33012 or similar memory exhaustion vulnerabilities, security and operations teams must implement robust process analysis focused on the Java Virtual Machine (JVM). Use Application Performance Monitoring (APM) tools to continuously monitor the heap memory usage of all Micronaut applications. Establish a baseline for normal memory consumption and configure alerts to trigger when heap usage consistently grows without being reclaimed by garbage collection, or when it surpasses a critical threshold (e.g., 90%). Most importantly, create a high-priority alert for any java.lang.OutOfMemoryError event, as this is the direct symptom of a successful attack. Correlating these alerts with source IP addresses showing high request rates can pinpoint the attacker.

Sources & References

Article Author

Jason Gomes

Jason Gomes

• Cybersecurity Practitioner

Cybersecurity professional with over 10 years of specialized experience in security operations, threat intelligence, incident response, and security automation. Expertise spans SOAR/XSOAR orchestration, threat intelligence platforms, SIEM/UEBA analytics, and building cyber fusion centers. Background includes technical enablement, solution architecture for enterprise and government clients, and implementing security automation workflows across IR, TIP, and SOC use cases.

Threat Intelligence & AnalysisSecurity Orchestration (SOAR/XSOAR)Incident Response & Digital ForensicsSecurity Operations Center (SOC)SIEM & Security AnalyticsCyber Fusion & Threat SharingSecurity Automation & IntegrationManaged Detection & Response (MDR)

Tags

MicronautJavaDenial of ServiceDoSVulnerabilityCVE-2026-33012

📢 Share This Article

Help others stay informed about cybersecurity threats