Read the docs
TI-2026-61871 Aliases CVE-2026-91085GHSA-8g53-m82p-xqf5

Apache Karaf: config:install missing ACL entry allows privilege escalation to admin

Priority LOW 28CWE-862Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Security bypass
Confidentiality · integrity · availability
Low · Low · Low
Fix status
Fixed

Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA. Impact type from CWE-862.

Summary

Apache Karaf's shell/SSH command security is enforced by per-scope ACL configuration files (etc/org.apache.karaf.command.acl.<scope>.cfg). SecuredSessionFactoryImpl.checkSecurity() resolves the roles required for an invocation and, when no ACL rule matches the command, fails open: ACLConfigurationParser.Specificity.NO_MATCH sets passCheck = true. The safety valve for this, karaf.secured.command.compulsory.roles, ships commented out in etc/system.properties, so an unmatched command is allowed for any authenticated user. The shipped org.apache.karaf.command.acl.config ACL (assemblies/features/standard/src/main/feature/feature.xml, mirrored into instance/.../etc/org.apache.karaf.command.acl.config.cfg) has no install entry. It restricts delete to admin, restricts edit/property-*/update on the jmx.acl.*, org.apache.karaf.command.acl.* and org.apache.karaf.service.acl.* PIDs to admin, and allows manager for everything else, but config:install was simply unmatched, and therefore allowed for any authenticated user, including one holding only the viewer role. config:install <url> <finalname> fetches url and writes it into ${karaf.etc} as finalname. It calls PathUtils.checkWithin() to block .. traversal outside karaf.etc, but that folder holds every security-relevant file Karaf ships: users.properties, keys.properties, host.key, and all org.apache.karaf.*.acl.* files, including the very ACL file that (mis)governs this command. With -o/--override, an existing file is overwritten with attacker-controlled bytes fetched from an arbitrary URL. Because felix.fileinstall.dir = ${karaf.etc} (etc/config.properties), Felix FileInstall also watches and reloads any .cfg file dropped there, closing the loop without requiring a restart. By contrast, bundle:install, feature:install and kar:install are all admin-only in their own ACLs, and config:delete is admin in this same ACL, config:install was the outlier. MitigationAdd install = admin in etc/org.apache.karaf.command.acl.config.cfg (create the file is absent), and/or set karaf.secured.command.compulsory.roles=admin in etc/system.properties (and restart) to make unmatched commands fail closed by default.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00374 31st percentileScored 2026-11-07
Fix Fixed Apache Karaf (Apache Software Foundation): 4.4.12

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
ApacheApache Karafbefore 4.4.124.4.12Patch availableCNA
  • Apache Karaf VendorApache Affected before 4.4.12 Fixed in 4.4.12 Patch available CNA

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:apache:karaf:*:*:*:*:*:*:*:*before 4.4.12VulnerableApache
  • cpe:2.3:a:apache:karaf:*:*:*:*:*:*:*:* Versions before 4.4.12 Vulnerable ·Apache

Remediation

  • Fix · CNA Apache Karaf (Apache Software Foundation) Fixed in 4.4.12

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    Apache Karaf 4.4.12

    4 records Highest priority Priority MEDIUM 3 MEDIUM, 1 LOW

    Other records, highest priority first

    • TI-2026-61863 Missing authorization in Apache KarafPriority MEDIUM 50
    • TI-2026-61851 Apache Karaf: Path Traversal in Config Service Allows Manager-to-Admin Privilege EscalationPriority MEDIUM 50
    • TI-2026-62238 Apache Karaf: Authorization bypass in JMX MBean lifecycle operationsPriority MEDIUM 41

Vendor assessments

Red Hat

Red Hat's page for this CVE →

Not affected: 1 product
  • Red Hat

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-91085
  2. 2026-10-03 Alias added: GHSA-8g53-m82p-xqf5
  3. 2026-11-06 Affected versions changed · Red Hat
  4. 2026-11-06 CVSS score added · Red Hat

References

  • TI-2022-19035 Apache Karaf: JDBC JAAS LDAP injection CVSS 3.1CRITICAL 9.8
  • TI-2018-08445 XML external entity injection in Apache Karaf CVSS 3.0CRITICAL 9.8
  • TI-2026-61863 Missing authorization in Apache Karaf CVSS 3.1CRITICAL 9.8
  • TI-2026-61851 Apache Karaf: Path Traversal in Config Service Allows Manager-to-Admin Privilege Escalation CVSS 3.1CRITICAL 9.8
  • TI-2020-17076 An issue was discovered in Legion of the Bouncy Castle BC Java 1.65 and 1.66. CVSS 3.1HIGH 8.1
  • TI-2026-61846 Apache Karaf: OS Command Injection in Child-Instance Launch (instance:* / InstancesMBean) CVSS 3.1HIGH 8.8
See all 17 →

Sources