55 lines
2.3 KiB
YAML
55 lines
2.3 KiB
YAML
id: CVE-2022-29153
|
|
|
|
info:
|
|
name: HashiCorp Consul/Consul Enterprise - Server-Side Request Forgery
|
|
author: c-sh0
|
|
severity: high
|
|
description: |
|
|
HashiCorp Consul and Consul Enterprise up to 1.9.16, 1.10.9, and 1.11 are susceptible to server-side request forgery. When redirects are returned by HTTP health check endpoints, Consul follows these HTTP redirects by default. An attacker can possibly obtain sensitive information, modify data, and/or execute unauthorized administrative operations in the context of the affected site.
|
|
remediation: 1) HTTP + interval health check configuration provides a disable_redirects option to prohibit this behavior. 2) Fixed in 1.9.17, 1.10.10, and 1.11.5.
|
|
reference:
|
|
- https://discuss.hashicorp.com/t/hcsec-2022-10-consul-s-http-health-check-may-allow-server-side-request-forgery/38393
|
|
- https://github.com/hashicorp/consul/pull/12685
|
|
- https://developer.hashicorp.com/consul/docs/discovery/checks
|
|
- https://nvd.nist.gov/vuln/detail/CVE-2022-29153
|
|
- https://discuss.hashicorp.com
|
|
classification:
|
|
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
|
|
cvss-score: 7.5
|
|
cve-id: CVE-2022-29153
|
|
cwe-id: CWE-918
|
|
epss-score: 0.00982
|
|
epss-percentile: 0.81697
|
|
cpe: cpe:2.3:a:hashicorp:consul:*:*:*:*:-:*:*:*
|
|
metadata:
|
|
verified: true
|
|
max-request: 2
|
|
vendor: hashicorp
|
|
product: consul
|
|
shodan-query: title:"Consul by HashiCorp"
|
|
tags: cve,cve2022,consul,hashicorp,ssrf,intrusive
|
|
|
|
http:
|
|
- raw:
|
|
- | # register safe test node
|
|
PUT /v1/agent/check/register HTTP/1.1
|
|
Host: {{Hostname}}
|
|
Content-Type: application/json
|
|
|
|
{"id":"{{randstr}}","name":"TEST NODE","method":"GET","http":"http://example.com","interval":"10s","timeout":"1s","disable_redirects":true}
|
|
- | # deregister test node
|
|
PUT /v1/agent/check/deregister/{{randstr}} HTTP/1.1
|
|
Host: {{Hostname}}
|
|
Content-Type: application/json
|
|
|
|
matchers-condition: and
|
|
matchers:
|
|
- type: word
|
|
part: body
|
|
words:
|
|
- unknown field "disable_redirects"
|
|
|
|
- type: status
|
|
status:
|
|
- 400
|
|
# digest: 4a0a0047304502207b252aa183651ce45cc879d7826ae441b56c44caeddcd50563167459df1611e1022100c63df4c9e17693bef596f5c57437db3e2012b11c4c48bb6d87fed921c4e44fb2:922c64590222798bb761d5b6d8e72950 |