{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Apache Karaf",
          "vendor": "Apache Software Foundation",
          "versions": [
            {
              "lessThan": "4.4.12",
              "status": "affected",
              "version": "0",
              "versionType": "semver"
            }
          ]
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "reporter",
          "value": "MopMonk-AI <mopmonk-ai@tophant.com>"
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "The&nbsp;<code>jdbc</code>&nbsp;shell command scope shipped no&nbsp;<code>org.apache.karaf.command.acl.jdbc.cfg</code>. Karaf's command guard (<code>SecuredSessionFactoryImpl</code>) treats a command with no matching ACL rule as <b>allowed</b>, so any authenticated shell session (including one holding only the&nbsp;<code>viewer</code>&nbsp;role) could run every&nbsp;<code>jdbc:*</code>&nbsp;command.&nbsp;<code>jdbc:ds-create</code>&nbsp;stores a fully attacker-controlled JDBC URL into a&nbsp;<code>pax-jdbc-config</code>&nbsp;factory&nbsp;<code>Configuration</code>&nbsp;with no validation.&nbsp;<code>pax-jdbc-config</code>&nbsp;reactively turns that into a live&nbsp;<code>DataSource</code>. Several JDBC drivers run code or SQL at connection time based on URL parameters (e.g. H2&nbsp;<code>INIT=RUNSCRIPT</code>), so a&nbsp;<code>viewer</code>-level shell user could reach arbitrary code execution, bypassing the&nbsp;<code>admin</code>-role gate that already protects&nbsp;<code>shell:exec</code>. This is a privilege-escalation-to-RCE chain, not merely an \"admin misconfiguration\".<div><br></div><div>The same applies to&nbsp;<code>jms:*</code>&nbsp;shell commands.</div>"
            }
          ],
          "value": "The\u00a0jdbc\u00a0shell command scope shipped no\u00a0org.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\u00a0viewer\u00a0role) could run every\u00a0jdbc:*\u00a0command.\u00a0jdbc:ds-create\u00a0stores a fully attacker-controlled JDBC URL into a\u00a0pax-jdbc-config\u00a0factory\u00a0Configuration\u00a0with no validation.\u00a0pax-jdbc-config\u00a0reactively turns that into a live\u00a0DataSource. Several JDBC drivers run code or SQL at connection time based on URL parameters (e.g. H2\u00a0INIT=RUNSCRIPT), so a\u00a0viewer-level shell user could reach arbitrary code execution, bypassing the\u00a0admin-role gate that already protects\u00a0shell:exec. This is a privilege-escalation-to-RCE chain, not merely an \"admin misconfiguration\".\n\n\nThe same applies to\u00a0jms:*\u00a0shell commands."
        }
      ],
      "metrics": [
        {
          "other": {
            "content": {
              "text": "moderate"
            },
            "type": "Textual description of severity"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-862",
              "description": "CWE-862",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "orgId": "f0158376-9dc2-43b6-827c-5f631a4d8d09"
      },
      "references": [
        {
          "tags": [
            "vendor-advisory"
          ],
          "url": "https://lists.apache.org/thread/ph3867mxh2tft75w0o1hpn10f5mbmw32"
        }
      ],
      "source": {
        "discovery": "EXTERNAL"
      },
      "title": "Missing authorization on the jdbc:* shell command scope allows privilege escalation to remote code execution via jdbc:ds-create",
      "x_generator": {
        "engine": "Vulnogram 1.0.3"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "f0158376-9dc2-43b6-827c-5f631a4d8d09",
    "cveId": "CVE-2026-91048",
    "serial": 1,
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.0"
}