Bug 1631100 (CVE-2018-11787) - CVE-2018-11787 karaf: Authentication bypass access to Gogo shell in the webconsole
Summary: CVE-2018-11787 karaf: Authentication bypass access to Gogo shell in the webco...
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2018-11787
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1654106 1654107 1654108 1654110
Blocks: 1631103
TreeView+ depends on / blocked
 
Reported: 2018-09-19 21:27 UTC by Pedro Sampaio
Modified: 2021-10-21 19:53 UTC (History)
22 users (show)

Fixed In Version: Karaf 3.0.9, Karaf 4.0.9, Karaf 4.1.1
Doc Type: If docs needed, set a value
Doc Text:
Prior to Karaf 3.0.9, Karaf 4.0.9, and Karaf 4.1.1, HTTP endpoints published by Karaf features may also be published under the HTTP web root, in addition to the paths specifically configured by the installed feature. Authentication and access control rules may not cover this additional path, potentially leading to authentication bypass on published features. The Gogo shell provided by the webconsole feature is potentially accessible without authentication as a result.
Clone Of:
Environment:
Last Closed: 2021-10-21 19:53:40 UTC
Embargoed:


Attachments (Terms of Use)

Description Pedro Sampaio 2018-09-19 21:27:29 UTC
As reported by upstream:

"A new security advisory has been released for Apache Karaf, that is
fixed in recent 3.0.9, 4.0.9 and 4.1.1 releases.

CVS-2018-11787: Apache Karaf unsecure access to Gogo shell in the webconsole

Severity: Moderate

Vendor: The Apache Software Foundation

Versions Affected: all versions of Apache Karaf prior to 3.0.9, 4.0.9,
4.1.1.

Description:

When the webconsole feature is installed in Karaf, it is available at
.../system/console and requires authentication to access it.  One part
of the console is a Gogo shell/console that gives access to the
command line console of Karaf via a Web browser, and when navigated to
it is available at .../system/console/gogo.  Trying to go directly to
that URL does require authentication.

And optional bundle that some applications use is the Pax Web Extender
Whiteboard, it is part of the pax-war feature and perhaps others.
When it is installed, the Gogo console becomes available at another
URL .../gogo/, and that URL is not secured giving access to the Karaf
console to unauthenticated users.

A mitigation for the issue is to manually stop/uninstall Gogo plugin
bundle that is installed with the webconsole feature, although of
course this removes the console from the .../system/console
application, not only from the unauthenticated endpoint.  One could
also stop/uninstall the Pax Web Extender Whiteboard, but other
components/applications may require it and so their functionality
would be reduced/compromised.

This has been fixed in revision:

https://gitbox.apache.org/repos/asf?p=karaf.git;h=cfa213a
https://gitbox.apache.org/repos/asf?p=karaf.git;h=434e525
https://gitbox.apache.org/repos/asf?p=karaf.git;h=1fc60d7

Mitigation: Apache Karaf users should upgrade to 3.0.9, 4.0.9, 4.1.1
or later as soon as possible.

JIRA Tickets: https://issues.apache.org/jira/browse/KARAF-4993

Credit: This issue was reported by Kevin Schmidt"


External references:

http://karaf.apache.org/security/cve-2018-11787.txt

Comment 1 James Hebden 2018-11-28 02:15:55 UTC
Impacted:
RHOSP 8:  org.apache.karaf-karaf-4.0.3.1                                                                      
RHOSP 9:  org.apache.karaf-karaf-3.0.1.1                                                                      
RHOSP 10: org.apache.karaf-karaf-3.0.3.1                                                                     
RHOSP 12: org.apache.karaf-karaf-4.0.7.1      
Tested on RHOSP8,9,10 & 12 (which ships a vulnerable version of karaf), I was able to gain access to the vulnerable /gogo web console without authentication, simply by installing the webconsole plugin. I did not need to manually install the whiteboard plugin. The regular /system/console/gogo endpoint does require authentication, as expected, however the additional /gogo endpoint does not, and allows full access to the karaf console for the Open Daylight install. These versions should have karaf updated to a supported, fixed, minor version in their relevant major release streams detailed above to fix this vulnerability. 

Not impacted:                                                               
RHOSP13:  org.apache.karaf-karaf-4.1.5.1 
Tested on 8.3.0-4.el7ost, I was not able to get access to the vulnerable /gogo tomcat endpoint by enabling the required features (pax-http-whiteboard/http-whiteboard and webconsole). All access to the web console when accessed via the proper endpoint was authenticated. Which makes sense, because v4.1.5 of karaf is not supposed to be vulnerable per the report.

Comment 2 James Hebden 2018-11-28 02:33:00 UTC
I have also updated the CVSS on this to reflect the impact to confidentiality and availability, given the web console (if installed) is able to modify certain configuration items, and is able to initiate a shutdown or restart of karaf and likely the host program (via system:shutdown command).

Comment 3 James Hebden 2018-11-28 02:33:12 UTC
Statement:

Open Daylight: The webconsole feature is not installed by default. In RHOSP12 and earlier, when the webconsole feature is installed, the gogo webshell potentially provides access to the Karaf console without authentication.

Comment 4 James Hebden 2018-11-28 02:37:28 UTC
Generically, I'm also rating this higher across all product which use karaf, given the availability of the shell:exec command and the associated OS-level availability concerns. For example, exec killall java from the webconsole for most karaf applications will cause undesirable availability impact.

Comment 7 Joshua Padman 2019-05-15 22:59:20 UTC
This vulnerability is out of security support scope for the following products:
 * Red Hat JBoss A-MQ 6
 * Red Hat JBoss Fuse 6

Please refer to https://access.redhat.com/support/policy/updates/jboss_notes for more details.


Note You need to log in before you can comment on or make changes to this bug.