CVE-2020-11980 Server-Side Request Forgery in Karaf

Medium 6.3 Published Updated

A viewer role can trigger SSRF and pollute the MBean registry via MLet, bypassing intended access controls in Apache Karaf.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2020-11980?

CVE-2020-11980 is a medium-severity server-side request forgery vulnerability in Apache Karaf, published on 12 Jun 2020. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

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.

Weakness: CWE-918

Which versions are affected by CVE-2020-11980?

2 open source packages ship an affected version, including org.apache.karaf.management:org.apache.karaf.management.server. It affects 1 product.

PackageAffectedFixed in
org.apache.karaf.management:org.apache.karaf.management.server MavenAll versions4.2.9
org.apache.karaf.management:org.apache.karaf.management.server MavenAll versions4.2.9

Products include Apache Karaf.

How do I fix CVE-2020-11980?

Upgrade org.apache.karaf.management:org.apache.karaf.management.server to 4.2.9 or later.

Upgrade, and send outbound requests through an allow-list that blocks internal addresses. More about Server-side request forgery.

Is CVE-2020-11980 being exploited?

There is no known exploitation of CVE-2020-11980 in the wild and no public exploit code.

Sources

Also known as GHSA-9jg9-6wm2-x7p5.

Is CVE-2020-11980 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free