Following the publication of proof-of-concept (PoC) code, Cisco released three advisories for multiple vulnerabilities silently patched in a recent update. Organizations should apply these patches immediately.
Background
On November 16, Cisco published advisories for three vulnerabilities in Cisco Security Manager, a tool to monitor and manage a variety of Cisco devices, including Cisco Adaptive Security Appliances, Cisco Integrated Services Routers, Firewall Services Modules, Catalyst Series Switches and IPS Series Sensor Appliances. The vulnerabilities were discovered and disclosed by security researcher Florian Hauser of Code White.
Hauser originally tweeted about these vulnerabilities on November 11, saying that he had disclosed “12 vulnerabilities” to Cisco that affect the “web interface” of Cisco Security Manager. He noted that all of the vulnerabilities he disclosed were unauthenticated and “almost all directly giving RCE (Remote Code Execution).”
120 days ago, I disclosed 12 vulnerabilities to @Cisco affecting the web interface of Cisco Security Manager. All unauthenticated, almost all directly giving RCE. #cisco#RCE#unauth
— frycos (@frycos) November 11, 2020
Five days later, on November 16, Hauser tweeted that because Cisco’s Product Security Incident Response Team (PSIRT) had become “unresponsive,” and because the alleged fixed version of Cisco Security Manager didn’t mention his disclosures, he decided to release his proof-of-concept (PoC) code for the 12 vulnerabilities.
Since Cisco PSIRT became unresponsive and the published release 4.22 still doesn't mention any of the vulnerabilities, here are 12 PoCs in 1 gist:https://t.co/h31QO5rmdehttps://t.co/xyFxyp7cJr
— frycos (@frycos) November 16, 2020
Three advisories reportedly cover at least 12 vulnerabilities
Despite Hauser’s tweet describing 12 vulnerabilities, it appears that two of the CVEs, CVE-2020-27130 and CVE-2020-27131, encompass multiple vulnerabilities, which is why there isn’t a direct one to one match as far as CVEs are concerned.
Analysis
CVE-2020-27125 is a static credential vulnerability in Cisco Security Manager. An unauthenticated, remote attacker could obtain the static credentials by viewing the source code of a file. Successful exploitation would allow an attacker to use these static credentials to “carry out further attacks.” This vulnerability received a CVSSv3 score of 7.4 out of 10.0.
CVE-2020-27130 is a critical path traversal vulnerability in Cisco Security Manager. An unauthenticated, remote attacker could send a specially crafted request containing directory traversal character sequences (e.g. “../../”) to a vulnerable device. Successful exploitation would allow the attacker to arbitrarily download and upload files to the device. This vulnerability received a CVSSv3 score of 9.1 out of 10.0.
CVE-2020-27131 addresses multiple vulnerabilities in the Java deserialization function in Cisco Security Manager. An unauthenticated, remote attacker could exploit this vulnerability by generating malicious serialized Java objects using a tool like ysoerial.net and sending them as part of a specially crafted request to the vulnerable device. Successful exploitation would grant the attacker arbitrary code execution privileges on the device as NT AUTHORITY\SYSTEM. This vulnerability received a CVSSv3 score of 8.1 out of 10.0.
Research cites previous disclosure from Tenable’s Zero Day Research team
As part of his PoC release for CVE-2020-27131, Hauser included a reference to TRA-2017-23, a vulnerability disclosure from Tenable’s Zero Day Research team from 2017 regarding a deserialization remote code execution vulnerability in Cisco Security Manager and Cisco Prime LAN Management Solution.
Proof of concept
On November 16, Hauser tweeted a link to a GitHub gist that contains PoCs for the vulnerabilities he disclosed to Cisco. These PoCs include examples of serialized Java objects generated using ysoserial.
Solution
Cisco has released patches for CVE-2020-27125 and CVE-2020-27130. However, a patch for CVE-2020-271131 is not yet available. The following table provides insight into the affected versions and available fixes.
CVE | Affected Versions | Fixed Versions | Fix Status |
---|---|---|---|
CVE-2020-27125 | 4.21 and earlier | 4.22 and later | Available |
CVE-2020-27130 | 4.21 and earlier | 4.22 and later | Available |
CVE-2020-27131 | 4.21 and earlier | 4.23 and later | Not Available |
On November 17, Hauser tweeted that the fixes were “indeed implemented” and that they “need some further testing” with a Service Pack release expected within “the next few weeks.”
Just had a good call with Cisco! The missing vulnerability fixes were indeed implemented as well but need some further testing. SP1 will be released in the next few weeks. We found a good mode of collaboration now. https://t.co/b8mNxnu11K
— frycos (@frycos) November 17, 2020
We will update this blog post once Cisco Security Manager 4.23 is available. Cisco has not provided any workarounds or mitigations for any of these vulnerabilities and notes that they are not aware of exploitation in the wild for these vulnerabilities at the time the advisories were published. The Security Response Team strongly encourages customers running Cisco Security Manager to upgrade to the most recent patched version as soon as possible.
Identifying affected systems
A list of Tenable plugins to identify these vulnerabilities will appear here as they’re released.
Get more information
- CVE-2020-27125: Cisco Security Manager Static Credential Vulnerability
- CVE-2020-27130: Cisco Security Manager Path Traversal Vulnerability
- CVE-2020-27131: Cisco Security Manager Java Deserialization Vulnerabilities
- Florian Hauser's PoCs for Cisco Security Manager Vulnerabilities
- TRA-2017-23 - Cisco Security Manager and Prime LMS Java Deserialization Remote Code Execution
Join Tenable's Security Response Team on the Tenable Community.
Learn more about Tenable, the first Cyber Exposure platform for holistic management of your modern attack surface.
Get a free 30-day trial of Tenable.io Vulnerability Management.