CVE-2026-91012: Vulnerability in Apache Software Foundation Apache Karaf
org.apache.karaf.config.core.impl.ConfigRepositoryImpl#update(pid, properties), which backs the "config" MBean and the config:* shell commands, derives the file it writes a configuration to from caller-supplied input without checking that the result stays inside ${karaf.etc}: * if the submitted property map contains a felix.fileinstall.filename entry, that value is turned directly into a File (getCfgFileFromProperty), so it can point to any absolute path the Karaf process can write to; * otherwise the configuration PID is concatenated verbatim into the target file name (generateConfigFilename(): new File(karaf.etc, pid + ".cfg")), so a PID containing ".." segments resolves outside ${karaf.etc}. createFactoryConfiguration() has the same issue via the factory PID/alias. Both code paths are reachable by any caller holding the "manager" role under Karaf's shipped command/JMX ACL (org.apache.karaf.command.acl.conf.cfg: "update = manager"). Such a user can therefore write attacker-controlled content to any file the Karaf process can write, including files the same ACL otherwise reserves to "admin" (etc/users.properties, etc/*.acl.*.cfg, etc/org.apache.karaf.management.cfg, and similar), allowing a manager-role user to grant themselves the admin role or otherwise take over the container. ConfigMBeanImpl.install() and the config:install shell command already guarded the equivalent risk on their own code path with a finalname.contains("..") string check, but that check does not stop absolute paths or symlink-based escapes, and it was never applied to ConfigRepositoryImpl.update() / createFactoryConfiguration() at all.
AI Analysis
Technical Summary
The vulnerability in Apache Karaf arises from the ConfigRepositoryImpl.update(pid, properties) method, which writes configuration files based on caller-supplied input without properly validating that the resulting file path remains within the designated ${karaf.etc} directory. If the property map contains a felix.fileinstall.filename entry, it is directly converted to a File object, allowing absolute paths. Otherwise, the PID is concatenated verbatim, permitting directory traversal via '..' segments. Both code paths are accessible to users with the 'manager' role, enabling them to write arbitrary files, including those reserved for 'admin' users, such as etc/users.properties and ACL configuration files. This can lead to privilege escalation or container takeover. Previous protections on similar code paths do not apply here, and checks against '..' segments or symlink escapes are missing. The affected versions are Apache Karaf >=0 and <4.4.12.
Potential Impact
An attacker with 'manager' role privileges can exploit this vulnerability to write arbitrary files anywhere writable by the Karaf process. This includes sensitive configuration files that control user roles and access control, allowing the attacker to escalate privileges to 'admin' or fully compromise the container. This undermines the security model of Apache Karaf and can lead to complete system takeover.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, restrict 'manager' role assignments to trusted users only and monitor for suspicious activity. Avoid exposing management interfaces to untrusted networks. Review and harden ACL configurations to limit potential abuse.
CVE-2026-91012: Vulnerability in Apache Software Foundation Apache Karaf
Description
org.apache.karaf.config.core.impl.ConfigRepositoryImpl#update(pid, properties), which backs the "config" MBean and the config:* shell commands, derives the file it writes a configuration to from caller-supplied input without checking that the result stays inside ${karaf.etc}: * if the submitted property map contains a felix.fileinstall.filename entry, that value is turned directly into a File (getCfgFileFromProperty), so it can point to any absolute path the Karaf process can write to; * otherwise the configuration PID is concatenated verbatim into the target file name (generateConfigFilename(): new File(karaf.etc, pid + ".cfg")), so a PID containing ".." segments resolves outside ${karaf.etc}. createFactoryConfiguration() has the same issue via the factory PID/alias. Both code paths are reachable by any caller holding the "manager" role under Karaf's shipped command/JMX ACL (org.apache.karaf.command.acl.conf.cfg: "update = manager"). Such a user can therefore write attacker-controlled content to any file the Karaf process can write, including files the same ACL otherwise reserves to "admin" (etc/users.properties, etc/*.acl.*.cfg, etc/org.apache.karaf.management.cfg, and similar), allowing a manager-role user to grant themselves the admin role or otherwise take over the container. ConfigMBeanImpl.install() and the config:install shell command already guarded the equivalent risk on their own code path with a finalname.contains("..") string check, but that check does not stop absolute paths or symlink-based escapes, and it was never applied to ConfigRepositoryImpl.update() / createFactoryConfiguration() at all.
Affected software
Apache Software Foundation
Apache Karaf
pkg:maven/org.apache.karaf/apache-karafRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in Apache Karaf arises from the ConfigRepositoryImpl.update(pid, properties) method, which writes configuration files based on caller-supplied input without properly validating that the resulting file path remains within the designated ${karaf.etc} directory. If the property map contains a felix.fileinstall.filename entry, it is directly converted to a File object, allowing absolute paths. Otherwise, the PID is concatenated verbatim, permitting directory traversal via '..' segments. Both code paths are accessible to users with the 'manager' role, enabling them to write arbitrary files, including those reserved for 'admin' users, such as etc/users.properties and ACL configuration files. This can lead to privilege escalation or container takeover. Previous protections on similar code paths do not apply here, and checks against '..' segments or symlink escapes are missing. The affected versions are Apache Karaf >=0 and <4.4.12.
Potential Impact
An attacker with 'manager' role privileges can exploit this vulnerability to write arbitrary files anywhere writable by the Karaf process. This includes sensitive configuration files that control user roles and access control, allowing the attacker to escalate privileges to 'admin' or fully compromise the container. This undermines the security model of Apache Karaf and can lead to complete system takeover.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, restrict 'manager' role assignments to trusted users only and monitor for suspicious activity. Avoid exposing management interfaces to untrusted networks. Review and harden ACL configurations to limit potential abuse.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- apache
- Date Reserved
- 2026-09-14T16:27:00.736Z
- State
- PUBLISHED
Threat ID: 6abb7b50f7a7c5410615a711
Added to database: 09/29/2026, 08:48:16 UTC
Last enriched: 09/29/2026, 09:03:24 UTC
Last updated: 09/29/2026, 18:20:13 UTC
Views: 13
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.