The proxy mode of WireMock, can be protected by the network restrictions configuration, as documented in Preventing proxying to and recording from specific target addresses. These restrictions can be configured using the domain names, and in such a case the configuration is vulnerable to the DNS rebinding attacks. A similar patch was applied in WireMock 3.0.0-beta-15 for the WireMock Webhook Extensions.
The root cause of the attack is a defect in the logic which allows for a race condition triggered by a DNS server whose address expires in between the initial validation and the outbound network request that might go to a domain that was supposed to be prohibited. Control over a DNS service is required to exploit this attack, so it has high execution complexity and limited impact.
Affected versions
WireMock 3,x until 3.0.3 (security patch), on default settings in environments with access to the network
WireMock 2.x until 2.35.1 (security patch), on default settings in environments with access to the network
Python WireMock until 2.6.1
WireMock Studio - all versions, this proprietary product was discontinued in 2022
Patches
WireMock 3.0.3 + the 3.0.3-1 Docker image
WireMock 2.35.1 + the 2.35.1-1 Docker image - backport to WireMock 2.x
Python WireMock 2.6.1
Workarounds
For WireMock:
Option 1: Configure WireMock to use IP addresses instead of the domain names in the outbound URLs subject to DNS rebinding
Option 2: Use external firewall rules to define the list of permitted destinations
For WireMock Studio: N/A. Switch to another distribution, there will be no fix provided. The vendor of former WireMock Studio recommends migration to WireMock Cloud
References
CVE-2023-41327 - Related issue in the WireMock Webhooks Extension
Release Notes
wiremock/wiremock (org.wiremock:wiremock)
### [`v3.0.3`](https://togithub.com/wiremock/wiremock/releases/tag/3.0.3): - Security Release
[Compare Source](https://togithub.com/wiremock/wiremock/compare/3.0.2...3.0.3)
#### 🔒 Security
This security release addresses the following issues
- [CVE-2023-41327](https://togithub.com/wiremock/wiremock/security/advisories/GHSA-hq8w-9w8w-pmx7) - Controlled SSRF through URL in the WireMock Webhooks Extension and WireMock Studio
- Base CVSS Score: 4.6 ([AV:A/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L/E:F/RL:O/RC:C](https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:A/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L/E:F/RL:O/RC:C\&version=3.1))
- [CVE-2023-41329](https://togithub.com/wiremock/wiremock/security/advisories/GHSA-pmxq-pj47-j8j4) - Domain restrictions bypass via DNS Rebinding in WireMock and WireMock Studio webhooks, proxy and recorder modes
- Base CVSS Score: 3.9 ([AV:A/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:L/E:F/RL:O/RC:C](https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:A/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:L/E:F/RL:O/RC:C\&version=3.1))
**NOTE:** WireMock Studio, a proprietary distribution discontinued in 2022, is also affected by those issues and also affected by [CVE-2023-39967 - Overall CVSS Score 8.6](https://togithub.com/wiremock/wiremock/security/advisories/GHSA-676j-xrv3-73vc) - “Controlled and full-read SSRF through URL parameter when testing a request, webhooks and proxy mode”. The fixes will not be provided. The vendor recommends migrating to [WireMock Cloud](https://www.wiremock.io/product) which is available as SaaS and private beta for on-premises deployments
#### 🔗 Related releases
- [WireMock Docker 3.0.3-1](https://togithub.com/wiremock/wiremock-docker/releases/tag/3.0.3-1) - Docker Image with the Patch
- [WireMock 2.35.1](https://togithub.com/wiremock/wiremock/releases/tag/2.35.1) / [WireMock Docker 2.35.1-1](https://togithub.com/wiremock/wiremock-docker/releases/tag/2.35.1-1) - Backport to WireMock 2.x
- [Python WireMock 2.6.1](https://togithub.com/wiremock/python-wiremock/releases/tag/2.6.1) - Python library that bundles the WireMock JAR file
- NOTE: Other distributions like Testcontainers modules or Helm chart need explicit version declaration, and hence a user action is needed to update the dependencies should they be considered a risk
#### Credits
[@W0rty](https://togithub.com/W0rty), [@numacanedo](https://togithub.com/numacanedo), [@Mahoney](https://togithub.com/Mahoney), [@tomakehurst](https://togithub.com/tomakehurst), [@oleg-nenashev](https://togithub.com/oleg-nenashev)
### [`v3.0.2`](https://togithub.com/wiremock/wiremock/releases/tag/3.0.2)
[Compare Source](https://togithub.com/wiremock/wiremock/compare/3.0.1...3.0.2)
#### 🐛 Bug fixes
- fix: avoid crash when printing help in wiremock-standalone ([#2351](https://togithub.com/wiremock/wiremock/issues/2351)) [@tomasbjerre](https://togithub.com/tomasbjerre)
#### 👻 Maintenance
- Reset system properties at end of test ([#2356](https://togithub.com/wiremock/wiremock/issues/2356)) [@Mahoney](https://togithub.com/Mahoney)
#### 📦 Dependency updates
- Bump org.eclipse.jetty:jetty-bom from 11.0.15 to 11.0.16 ([#2346](https://togithub.com/wiremock/wiremock/issues/2346)) [@dependabot](https://togithub.com/dependabot)
- Bump org.slf4j:log4j-over-slf4j from 2.0.7 to 2.0.9 ([#2353](https://togithub.com/wiremock/wiremock/issues/2353)) [@dependabot](https://togithub.com/dependabot)
- Bump org.sonarqube from 4.3.0.3225 to 4.3.1.3277 ([#2352](https://togithub.com/wiremock/wiremock/issues/2352)) [@dependabot](https://togithub.com/dependabot)
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
3.0.1
->3.0.3
GitHub Vulnerability Alerts
CVE-2023-41329
Impact
The proxy mode of WireMock, can be protected by the network restrictions configuration, as documented in Preventing proxying to and recording from specific target addresses. These restrictions can be configured using the domain names, and in such a case the configuration is vulnerable to the DNS rebinding attacks. A similar patch was applied in WireMock 3.0.0-beta-15 for the WireMock Webhook Extensions.
The root cause of the attack is a defect in the logic which allows for a race condition triggered by a DNS server whose address expires in between the initial validation and the outbound network request that might go to a domain that was supposed to be prohibited. Control over a DNS service is required to exploit this attack, so it has high execution complexity and limited impact.
Affected versions
Patches
Workarounds
For WireMock:
For WireMock Studio: N/A. Switch to another distribution, there will be no fix provided. The vendor of former WireMock Studio recommends migration to WireMock Cloud
References
Release Notes
wiremock/wiremock (org.wiremock:wiremock)
### [`v3.0.3`](https://togithub.com/wiremock/wiremock/releases/tag/3.0.3): - Security Release [Compare Source](https://togithub.com/wiremock/wiremock/compare/3.0.2...3.0.3) #### 🔒 Security This security release addresses the following issues - [CVE-2023-41327](https://togithub.com/wiremock/wiremock/security/advisories/GHSA-hq8w-9w8w-pmx7) - Controlled SSRF through URL in the WireMock Webhooks Extension and WireMock Studio - Base CVSS Score: 4.6 ([AV:A/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L/E:F/RL:O/RC:C](https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:A/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L/E:F/RL:O/RC:C\&version=3.1)) - [CVE-2023-41329](https://togithub.com/wiremock/wiremock/security/advisories/GHSA-pmxq-pj47-j8j4) - Domain restrictions bypass via DNS Rebinding in WireMock and WireMock Studio webhooks, proxy and recorder modes - Base CVSS Score: 3.9 ([AV:A/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:L/E:F/RL:O/RC:C](https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:A/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:L/E:F/RL:O/RC:C\&version=3.1)) **NOTE:** WireMock Studio, a proprietary distribution discontinued in 2022, is also affected by those issues and also affected by [CVE-2023-39967 - Overall CVSS Score 8.6](https://togithub.com/wiremock/wiremock/security/advisories/GHSA-676j-xrv3-73vc) - “Controlled and full-read SSRF through URL parameter when testing a request, webhooks and proxy mode”. The fixes will not be provided. The vendor recommends migrating to [WireMock Cloud](https://www.wiremock.io/product) which is available as SaaS and private beta for on-premises deployments #### 🔗 Related releases - [WireMock Docker 3.0.3-1](https://togithub.com/wiremock/wiremock-docker/releases/tag/3.0.3-1) - Docker Image with the Patch - [WireMock 2.35.1](https://togithub.com/wiremock/wiremock/releases/tag/2.35.1) / [WireMock Docker 2.35.1-1](https://togithub.com/wiremock/wiremock-docker/releases/tag/2.35.1-1) - Backport to WireMock 2.x - [Python WireMock 2.6.1](https://togithub.com/wiremock/python-wiremock/releases/tag/2.6.1) - Python library that bundles the WireMock JAR file - NOTE: Other distributions like Testcontainers modules or Helm chart need explicit version declaration, and hence a user action is needed to update the dependencies should they be considered a risk #### Credits [@W0rty](https://togithub.com/W0rty), [@numacanedo](https://togithub.com/numacanedo), [@Mahoney](https://togithub.com/Mahoney), [@tomakehurst](https://togithub.com/tomakehurst), [@oleg-nenashev](https://togithub.com/oleg-nenashev) ### [`v3.0.2`](https://togithub.com/wiremock/wiremock/releases/tag/3.0.2) [Compare Source](https://togithub.com/wiremock/wiremock/compare/3.0.1...3.0.2) #### 🐛 Bug fixes - fix: avoid crash when printing help in wiremock-standalone ([#2351](https://togithub.com/wiremock/wiremock/issues/2351)) [@tomasbjerre](https://togithub.com/tomasbjerre) #### 👻 Maintenance - Reset system properties at end of test ([#2356](https://togithub.com/wiremock/wiremock/issues/2356)) [@Mahoney](https://togithub.com/Mahoney) #### 📦 Dependency updates - Bump org.eclipse.jetty:jetty-bom from 11.0.15 to 11.0.16 ([#2346](https://togithub.com/wiremock/wiremock/issues/2346)) [@dependabot](https://togithub.com/dependabot) - Bump org.slf4j:log4j-over-slf4j from 2.0.7 to 2.0.9 ([#2353](https://togithub.com/wiremock/wiremock/issues/2353)) [@dependabot](https://togithub.com/dependabot) - Bump org.sonarqube from 4.3.0.3225 to 4.3.1.3277 ([#2352](https://togithub.com/wiremock/wiremock/issues/2352)) [@dependabot](https://togithub.com/dependabot)Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.