Aerosol Posted June 11, 2015 Report Posted June 11, 2015 Advisory: Alcatel-Lucent OmniSwitch Web Interface Weak Session IDDuring a penetration test, RedTeam Pentesting discovered a vulnerabilityin the management web interface of an Alcatel-Lucent OmniSwitch 6450.This interface uses easily guessable session IDs, which allows attackersto authenticate as a currently logged-in user and perform administrativetasks.Details=======Product: Alcatel-Lucent OmniSwitch 6450, 6250, 6850E, 9000E, 6400, 6855Affected Versions: AOS 6.4.5.R02 AOS 6.4.6.R01 AOS 6.6.4.R01 AOS 6.6.5.R02Fixed Versions: AOS 6.6.5.80.R02 AOS 6.6.4.309.R01Vulnerability Type: Session Management - low identifier entropySecurity Risk: highVendor URL: http://enterprise.alcatel-lucent.com/?product=OmniSwitch6450&page=overviewVendor Status: fixed version releasedAdvisory URL: https://www.redteam-pentesting.de/advisories/rt-sa-2015-003Advisory Status: publishedCVE: CVE-2015-2804CVE URL: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2804Introduction============"The Alcatel-Lucent OmniSwitch 6450 Gigabit and Fast Ethernet Stackable LANSwitches are the latest value stackable switches in the OmniSwitch family ofproducts. The OmniSwitch 6450 was specifically built for versatility offeringoptional upgrade paths for 10 Gigabit stacking, 10 Gigabit Ethernet uplinks,from Fast to Gigabit user ports (L models) and Metro Ethernet services."(from the vendor's homepage)More Details============The management web interface of the OmniSwitch 6450 can be accessed using a webbrowser via HTTP. A switch with the example IP 192.0.2.1 is accessible viathe following URL:http://192.0.2.1/A client is then redirected to the following URL:http://192.0.2.1/web/content/index.htmlFor unauthenticated users the URL displays a login form and sets a sessioncookie with a session ID. A request to the URL with the command line HTTPclient cURL shows the Set-Cookie header: $ curl -I http://192.0.2.1/web/content/index.html HTTP/1.1 200 OK Date: Tue, 17 Mar 2015 08:25:42 GMT Server: Agranat-EmWeb/R5_2_4 [...] Set-Cookie: session=sess_11012;PATH=/The session cookie has the name "session" and its value begins with thestring "sess_". By repeatedly requesting the URL with cURL it became obviousthat the suffix is always a number between 1 and 32,000. This suggests thatthere are only about 32,000 possible session IDs, resulting in only 15 bitsof entropy. Our tests showed that it was possible to get a throughput of about50 HTTP requests per second, this means that in order to try every possiblesession ID an attacker will need at most 11 minutes. On average, the time ittakes to find a valid session ID for an active user is even lower.Proof of Concept================For an attacker it is very easy to distinguish between a valid and an invalidsession ID by looking at the HTTP response size. During our tests, requestingan invalid session ID always returned the login form, which was 3027 bytesin length. With a valid session ID, the management web interface isreturned by the webserver and the response is larger.A number of requests in the range of the possible session cookies can be easilyexecuted using wfuzz [0]:------------------------------------------------------------------------./wfuzz.py -z range,1-32000 --hl 3027 -H "Cookie: session=sess_FUZZ" http://192.0.2.1/web/content/index.html------------------------------------------------------------------------Workaround==========Administrators should avoid using the management web interface and use theserial console or administrate the switch over SSH instead. The web interfacecan be disabled by executing the following commands: no ip service http no ip service secure-httpIf the web interface is needed, it must be ensured that only authorised personsare able to even connect to the web server. In addition, the HTTP sessiontimeout can be lowered to one minute with the following command: session timeout http 1Fix===Upgrade the firmware to a fixed version.Security Risk=============The vulnerability poses a high risk. An attacker can easily authenticate to aswitch with the privileges of another user who is currently logged in. Theattack is simple and fast. The only precondition is that a user is alreadyusing the switch during the attack. Attackers might actively trickadministrators into logging in by social engineering.Timeline========2015-03-16 Vulnerability identified2015-03-25 Customer approves disclosure to vendor2015-03-26 CVE number requested2015-03-31 CVE number assigned2015-04-01 Vendor notified2015-04-02 Vendor acknowledged receipt of advisories2015-04-08 Requested status update from vendor, vendor is investigating2015-04-29 Requested status update from vendor, vendor is still investigating2015-05-22 Requested status update from vendor2015-05-27 Vendor is working on the issue2015-06-05 Vendor notified customers2015-06-08 Vendor provided details about affected versions2015-06-10 Advisory releasedReferences==========[0] https://github.com/xmendez/wfuzzRedTeam Pentesting GmbHSource Quote