---
id: CVE-2026-91048
title: "The\_jdbc\_shell command scope shipped no\_org.apache.karaf.command.acl.jdbc.cfg"
summary: "The\_jdbc\_shell command scope shipped no\_org.apache.karaf.command.acl.jdbc.cfg. Karaf's command guard (SecuredSessionFactoryImpl) treats a command with no matching ACL rule as allowed, so any authenticated shell session (including one hol…"
severity: none
cwe:
  - CWE-862
vendor: Apache Software Foundation
product: Apache Karaf
affected:
  - apache_karaf < 4.4.12
published: '2026-09-29'
updated: '2026-09-29'
sourceUpdated: '2026-09-29T10:17:13.820'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-91048'
references:
  - url: 'https://lists.apache.org/thread/ph3867mxh2tft75w0o1hpn10f5mbmw32'
    label: security@apache.org
  - url: 'http://www.openwall.com/lists/oss-security/2026/09/28/9'
    label: af854a3a-2127-422b-91ae-364da2661108
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-29T09:30:49.081Z'
---

## Overview

The jdbc shell command scope shipped no org.apache.karaf.command.acl.jdbc.cfg. Karaf's command guard (SecuredSessionFactoryImpl) treats a command with no matching ACL rule as allowed, so any authenticated shell session (including one holding only the viewer role) could run every jdbc:* command. jdbc:ds-create stores a fully attacker-controlled JDBC URL into a pax-jdbc-config factory Configuration with no validation. pax-jdbc-config reactively turns that into a live DataSource. Several JDBC drivers run code or SQL at connection time based on URL parameters (e.g. H2 INIT=RUNSCRIPT), so a viewer-level shell user could reach arbitrary code execution, bypassing the admin-role gate that already protects shell:exec. This is a privilege-escalation-to-RCE chain, not merely an "admin misconfiguration".


The same applies to jms:* shell commands.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
