Description
Renovate is a dependency update automation tool. In versions before 44.11.2 (and Mend Renovate CE/EE images and charts before 15.4.0, and mend-renovate-enterprise-edition helm chart before 10.4.0), when listing new package versions from a NuGet registry Renovate follows pagination URLs supplied by the registry in the HTTP `Link` header without verifying that the target has the same origin as the configured registry. Registry credentials are attached to the request for the 'next' page, so a malicious or compromised NuGet registry can return a `Link` header pointing at an attacker-controlled server and cause Renovate to send the registry credentials to that server. Exploitation requires the remote registry to be malicious or compromised; such a registry would normally already have received the credentials on the initial request, so the issue primarily allows the credentials to be delivered to an additional, attacker-chosen host. The fix restricts pagination to the same origin; the previous behaviour can be re-enabled with the RENOVATE_X_NUGET_PAGINATION_ALLOW_CROSS_ORIGIN option.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| renovatebot | renovate | < 44.11.2 | 44.11.2 |
| mend | renovate-ce | < 15.4.0 | 15.4.0 |
| mend | renovate-ee-server | < 15.4.0 | 15.4.0 |
| mend | renovate-ee-worker | < 15.4.0 | 15.4.0 |
| mend | mend-renovate-ce | < 15.4.0 | 15.4.0 |
| mend | mend-renovate-enterprise-edition | < 10.4.0 | 10.4.0 |
References
- GitHub Security Advisory (GHSA-rh7w-ccch-gh49) vendor-advisory
- VulnCheck Advisory: Renovate before 44.11.2 Credential Exfiltration via Link Header third-party-advisory