CVE-2026-92230: Apache Karaf: Improper release of ClassLoader references via static ThreadLocal caching
Apache Karaf's XmlUtils cached XML parser/transformer factories in static ThreadLocal fields on long-lived container threads. Because a ThreadLocal value outlives the OSGi bundle that created it, repeated bundle or feature install, update, or refresh operations can leave successive bundle ClassLoader's pinned in memory and unreachable for garbage collection, leading to unbounded Metaspace growth and eventual denial of service of the Karaf instance.
Affected Software
Event History
Frequently Asked Questions
Which Karaf instances are most exposed to this issue?
Instances that repeatedly install, update, or refresh OSGi bundles or features are exposed to accumulating unreachable bundle ClassLoaders. Long-running containers are particularly affected because the cached ThreadLocal values persist on container threads.
What would an attacker or other triggering party need to do?
They would need to cause repeated bundle or feature install, update, or refresh operations. Each cycle can leave another bundle ClassLoader pinned in memory, eventually exhausting Metaspace and denying service.
How can administrators recognize that an instance may be affected?
Look for Metaspace usage that continues to grow after repeated bundle or feature lifecycle operations and does not return through garbage collection. The expected impact is eventual denial of service as successive ClassLoaders remain pinned.