Skip to content
Heist/ feed
Back to feed
Medium

Security advisory

Type: advisorySources: OSVCVE: CVE-2020-11980

In Karaf, JMX authentication takes place using JAAS and authorization takes place using ACL files. By default, only an "admin" can actually invoke on an MBean. However there is a vulnerability there for someone who is not an admin, but has a "viewer" role. In the 'etc/jmx.acl.cfg', such as role can call get*. It's possible to authenticate as a viewer role + invokes on the MLet getMBeansFromURL method, which goes off to a remote server to fetch the desired MBean, which is then registered in Karaf. At this point the attack fails as "viewer" doesn't have the permission to invoke on the MBean. Still, it could act as a SSRF style attack and also it essentially allows a "viewer" role to pollute the MBean registry, which is a kind of privilege escalation. The vulnerability is low as it's possible to add a ACL to limit access. Users should update to Apache Karaf 4.2.9 or newer.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2020-11980
Confirmed fixed CVEs
Not specified
Updated in this feed
1 Nov 2026, 04:43 UTC · Revision 1

Source evidence

CVE-2020-11980

core-osv · Original source

Published 12 Jun 2020, 22:15 UTC

In Karaf, JMX authentication takes place using JAAS and authorization takes place using ACL files. By default, only an "admin" can actually invoke on an MBean. However there is a vulnerability there for someone who is not an admin, but has a "viewer" role. In the 'etc/jmx.acl.cfg', such as role can call get*. It's possible to authenticate as a viewer role + invokes on the MLet getMBeansFromURL method, which goes off to a remote server to fetch the desired MBean, which is then registered in Karaf. At this point the attack fails as "viewer" doesn't have the permission to invoke on the MBean. Still, it could act as a SSRF style attack and also it essentially allows a "viewer" role to pollute the MBean registry, which is a kind of privilege escalation. The vulnerability is low as it's possible to add a ACL to limit access. Users should update to Apache Karaf 4.2.9 or newer.

osv:CVE-2020-11980
Complete source record
{
  "id": "9855b87db3480221ae261318e4f8659912c58defbdd6fa0fc34fa6f80c932e27",
  "url": "https://osv.dev/vulnerability/CVE-2020-11980",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2020-11980",
    "summary": "In Karaf, JMX authentication takes place using JAAS and authorization takes place using ACL files. By default, only an \"admin\" can actually invoke on an MBean. However there is a vulnerability there for someone who is not an admin, but has a \"viewer\" role. In the 'etc/jmx.acl.cfg', such as role can call get*. It's possible to authenticate as a viewer role + invokes on the MLet getMBeansFromURL method, which goes off to a remote server to fetch the desired MBean, which is then registered in Karaf. At this point the attack fails as \"viewer\" doesn't have the permission to invoke on the MBean. Still, it could act as a SSRF style attack and also it essentially allows a \"viewer\" role to pollute the MBean registry, which is a kind of privilege escalation. The vulnerability is low as it's possible to add a ACL to limit access. Users should update to Apache Karaf 4.2.9 or newer.",
    "evidence": "osv:CVE-2020-11980",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2020-11980",
      "aliases": [
        "CVE-2020-11980",
        "GHSA-9jg9-6wm2-x7p5"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/apache/karaf",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "b6fec8f201c851c19d7fb79e6c35452c1c722f53"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:apache:karaf:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "4.2.9"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "karaf-4.2.8",
            "karaf-4.2.7",
            "karaf-4.2.6",
            "karaf-4.2.5",
            "karaf-4.2.4",
            "karaf-4.2.3",
            "karaf-4.2.2",
            "karaf-4.2.1",
            "karaf-4.2.0",
            "karaf-4.2.0.M2",
            "karaf-4.2.0.M1",
            "karaf-4.1.1",
            "karaf-4.1.0",
            "karaf-4.0.4",
            "karaf-4.0.3",
            "karaf-4.0.2",
            "karaf-4.0.1",
            "karaf-4.0.0.M2",
            "karaf-4.0.0.M1",
            "karaf-3.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-11980.json"
          }
        }
      ],
      "modified": "2026-10-24T10:30:21.722063599Z",
      "provider": "osv",
      "references": [],
      "provider_metadata": {}
    },
    "related_cves": [
      {
        "value": "CVE-2020-11980",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 430541,
  "published_at": "2020-06-12T22:15:11.473+00:00"
}