Vulnerability · Published May 12, 2026 · Assigned by GitHub_M
CVE-2026-44241Micronaut Framework: Unbounded formattersCache in TimeConverterRegistrar Allows Memory Exhaustion via Accept-Language Header
High 7.5
In plain English
A high-severity uncontrolled resource consumption in micronaut-core from micronaut-projects. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.6% (higher than 51% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
Micronaut Framework is a JVM-based full stack Java framework designed for building modular, easily testable JVM applications. From 4.3.0 to before 4.10.22, 3.10.6, and 3.8.14, TimeConverterRegistrar caches DateTimeFormatter instances in an unbounded ConcurrentHashMap<String, DateTimeFormatter> whose key is derived from the @Format annotation pattern concatenated with the locale from the HTTP Accept-Language header. Because Locale.forLanguageTag() accepts arbitrary BCP 47 private-use extensions (en-x-a001, en-x-a002, …), an unauthenticated attacker can generate an unlimited number of unique cache keys by sending requests with novel locale tags, growing the cache until heap memory is exhausted and the JVM crashes. This vulnerability is fixed in 4.10.22, 3.10.6, and 3.8.14.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Maven | io.micronaut:micronaut-context | 4.10.22 | GHSA-8hjv-92q9-g4xj |
| Maven | io.micronaut:micronaut-context | 3.10.6 | GHSA-8hjv-92q9-g4xj |
| Maven | io.micronaut:micronaut-context | 3.8.14 | GHSA-8hjv-92q9-g4xj |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| micronaut-projects | micronaut-core | >= 4.3.0, < 4.10.22>= 3.10.0, < 3.10.6< 3.8.14 |
Weakness: CWE-400 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
References
- https://github.com/micronaut-projects/micronaut-core/security/advisories/GHSA-8hjv-92q9-g4xj x_refsource_CONFIRM
- https://github.com/micronaut-projects/micronaut-core/commit/48f05ae8dc4157816fe0050c5cf730be7d44f8b3 x_refsource_MISC
- https://github.com/micronaut-projects/micronaut-core/commit/c2048ab740c2efdfe227813f203176e0ef93f892 x_refsource_MISC
- https://github.com/micronaut-projects/micronaut-core/commit/c6ca8782de7338732e887d090f38c9e941bcb284 x_refsource_MISC
- https://github.com/micronaut-projects/micronaut-core/releases/tag/v3.10.6 x_refsource_MISC
- https://github.com/micronaut-projects/micronaut-core/releases/tag/v3.8.14 x_refsource_MISC
- https://github.com/micronaut-projects/micronaut-core/releases/tag/v4.10.22 x_refsource_MISC