CVE-2023-41327

Controlled SSRF through URL in the WireMock

State
Published
Severity
4.6 Medium
Published
Sep 6, 2023
Updated
Sep 26, 2024
Reserved
Aug 28, 2023

Read the record on cve.org

Description

WireMock is a tool for mocking HTTP services. WireMock can be configured to only permit proxying (and therefore recording) to certain addresses. This is achieved via a list of allowed address rules and a list of denied address rules, where the allowed list is evaluated first.

Until WireMock Webhooks Extension 3.0.0-beta-15, the filtering of target addresses from the proxy mode DID NOT work for Webhooks, so the users were potentially vulnerable regardless of the `limitProxyTargets` settings. Via the WireMock webhooks configuration, POST requests from a webhook might be forwarded to an arbitrary service reachable from WireMock’s instance. For example, If someone is running the WireMock docker Container inside a private cluster, they can trigger internal POST requests against unsecured APIs or even against secure ones by passing a token, discovered using another exploit, via authentication headers. This issue has been addressed in versions 2.35.1 and 3.0.3 of wiremock. Wiremock studio has been discontinued and will not see a fix. Users unable to upgrade should use external firewall rules to define the list of permitted destinations.

Scores

CVSSScoreVectorSource
3.14.6 MediumCVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:LGitHub_M

Weaknesses

  • CWE-918 Server-Side Request Forgery (SSRF)

Affected Products

ProductVersions
wiremockwiremock
  • org.wiremock:wiremock-webhooks-extension: >= 2.0.0, < 2.35.1Affected
  • org.wiremock:wiremock-webhooks-extension: >= 3.0.0, < 3.0.3Affected
  • wiremock-studio: All versionsAffected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.