Apache Karaf: command injection
High8.8CVE-2026-91006 · Published Sep 28, 2026 · updated Sep 29, 2026
Apache Karaf's instance-management service (InstanceServiceImpl) builds the command line used to launch a child Karaf JVM by string concatenation, then executes it through /bin/sh (Unix) or cscript (Windows). The caller-supplied javaOpts value is spliced into that string unquoted. A javaOpts value containing shell metacharacters (;, |, `, $(...)) is interpreted by the shell instead of being passed to the JVM as an option, giving arbitrary OS command execution as the Karaf process user. Reachable via the shell commands instance:create, instance:start, instance:restart, instance:change-opts, and the equivalent InstanceMBean JMX operations (createInstance, startInstance, changeJavaOpts, cloneInstance). Mitigation * Set karaf.secured.command.compulsory.roles=admin in etc/system.properties to close the fail-open gap for all unconfigured command scopes. * Restrict which principals can reach instance:* commands and InstancesMBean via etc/users.properties role assignments. * Treat javaOpts passed to instance:create/instance:start/instance:change-opts/InstancesMBean as untrusted input only from fully-trusted operators.
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| Apache Karaf Product | < 4.4.12 | 4.4.12 |
Details and references
- CVSS 3.1
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Severity from
- CISA (its enrichment of the CVE record)
- Weakness
- CWE-78
More Apache Software Foundation advisories
All Apache Software Foundation| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| Sep 28 | LDAPCache and LDAPBackingEngine build LDAP search filters for user lookup and... | High7.3 | 4.4.12 |
| Sep 28 | Apache Roller: cross-site scripting | Medium6.1 | No fix yet |
| Sep 28 | Apache Roller: cross-site scripting | Medium6.1 | No fix yet |
| Sep 28 | Apache Roller: cross-site scripting | Medium6.1 | No fix yet |
| Sep 28 | Apache Roller: missing authentication | High8.2 | No fix yet |
| Sep 28 | Apache Roller: unsafe deserialization | Critical9.8 | No fix yet |