CVE-2026-88881 (GCVE-0-2026-88881)
Vulnerability from cvelistv5
Published
2026-09-10 13:05
Modified
2026-09-29 22:10
Severity ?
9.2 (Critical) - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
8.6 (High) - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
8.6 (High) - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
VLAI Severity ?
EPSS score ?
CWE
- CWE-601 - URL Redirection to Untrusted Site ('Open Redirect')
Summary
Renovate, a dependency update tool, follows pagination links supplied by the GitHub server in the HTTP `Link` header when interacting with GitHub.com, GitHub Enterprise Cloud, or GitHub Enterprise Server, and sends the credentials configured for that host to the URL given as the 'next' page. Because the pagination URL is not validated against the host originally contacted, a malicious or compromised GitHub server can return a `Link` header pointing to an attacker-controlled host and cause Renovate to disclose those credentials to it. Exploitation requires that the GitHub server Renovate talks to (as the repository host or as a datasource such as github-releases, github-tags, or git-refs) is already malicious or compromised. The issue is fixed in renovate 44.11.3 (npm and renovate/renovate container images), Mend Renovate CE/EE images and the mend-renovate-ce helm chart 15.4.0, and the mend-renovate-enterprise-edition helm chart 10.4.0. There is no workaround; the pre-existing RENOVATE_X_REBASE_PAGINATION_LINKS option disables the new host check and should only be used with servers that intentionally use different pagination hosts.
References
| URL | Tags | |
|---|---|---|
Impacted products
| Vendor | Product | Version | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| renovatebot | renovate |
Version: 0 ≤ |
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-88881",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-09-15T14:23:01.794545Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-09-15T14:23:11.566Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "renovate",
"vendor": "renovatebot",
"versions": [
{
"lessThan": "44.11.3",
"status": "affected",
"version": "0",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "44.11.3",
"versionType": "semver"
}
]
},
{
"defaultStatus": "unaffected",
"product": "renovate-ce",
"vendor": "mend",
"versions": [
{
"lessThan": "15.4.0",
"status": "affected",
"version": "0",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "15.4.0",
"versionType": "semver"
}
]
},
{
"defaultStatus": "unaffected",
"product": "renovate-ee-server",
"vendor": "mend",
"versions": [
{
"lessThan": "15.4.0",
"status": "affected",
"version": "0",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "15.4.0",
"versionType": "semver"
}
]
},
{
"defaultStatus": "unaffected",
"product": "renovate-ee-worker",
"vendor": "mend",
"versions": [
{
"lessThan": "15.4.0",
"status": "affected",
"version": "0",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "15.4.0",
"versionType": "semver"
}
]
},
{
"defaultStatus": "unaffected",
"product": "mend-renovate-ce",
"vendor": "mend",
"versions": [
{
"lessThan": "15.4.0",
"status": "affected",
"version": "0",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "15.4.0",
"versionType": "semver"
}
]
},
{
"defaultStatus": "unaffected",
"product": "mend-renovate-enterprise-edition",
"vendor": "mend",
"versions": [
{
"lessThan": "10.4.0",
"status": "affected",
"version": "0",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "10.4.0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "reporter",
"value": "jamietanna"
}
],
"datePublic": "2026-08-27T00:00:00.000Z",
"descriptions": [
{
"lang": "en",
"value": "Renovate, a dependency update tool, follows pagination links supplied by the GitHub server in the HTTP `Link` header when interacting with GitHub.com, GitHub Enterprise Cloud, or GitHub Enterprise Server, and sends the credentials configured for that host to the URL given as the \u0027next\u0027 page. Because the pagination URL is not validated against the host originally contacted, a malicious or compromised GitHub server can return a `Link` header pointing to an attacker-controlled host and cause Renovate to disclose those credentials to it. Exploitation requires that the GitHub server Renovate talks to (as the repository host or as a datasource such as github-releases, github-tags, or git-refs) is already malicious or compromised. The issue is fixed in renovate 44.11.3 (npm and renovate/renovate container images), Mend Renovate CE/EE images and the mend-renovate-ce helm chart 15.4.0, and the mend-renovate-enterprise-edition helm chart 10.4.0. There is no workaround; the pre-existing RENOVATE_X_REBASE_PAGINATION_LINKS option disables the new host check and should only be used with servers that intentionally use different pagination hosts."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 9.2,
"baseSeverity": "CRITICAL",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "HIGH",
"vulnIntegrityImpact": "NONE"
},
"format": "CVSS"
},
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 8.6,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "CHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N",
"version": "3.1"
},
"format": "CVSS"
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-601",
"description": "URL Redirection to Untrusted Site (\u0027Open Redirect\u0027)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-09-29T22:10:37.776Z",
"orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"shortName": "VulnCheck"
},
"references": [
{
"name": "GitHub Security Advisory (GHSA-w57v-h33h-835c)",
"tags": [
"vendor-advisory"
],
"url": "https://github.com/renovatebot/renovate/security/advisories/GHSA-w57v-h33h-835c"
},
{
"name": "VulnCheck Advisory: Renovate before 44.11.3 Credential Exfiltration via Link Header",
"tags": [
"third-party-advisory"
],
"url": "https://www.vulncheck.com/advisories/renovate-before-44.11.3-credential-exfiltration-via-link-header-2"
}
],
"title": "Renovate before 44.11.3 Credential Exfiltration via Link Header",
"x_generator": {
"engine": "vulncheck-endgame"
}
}
},
"cveMetadata": {
"assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"assignerShortName": "VulnCheck",
"cveId": "CVE-2026-88881",
"datePublished": "2026-09-10T13:05:32.249Z",
"dateReserved": "2026-09-10T11:25:34.912Z",
"dateUpdated": "2026-09-29T22:10:37.776Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-88881\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"yes\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-09-15T14:23:01.794545Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-09-15T14:23:08.206Z\"}}], \"cna\": {\"title\": \"Renovate before 44.11.3 Credential Exfiltration via Link Header\", \"credits\": [{\"lang\": \"en\", \"type\": \"reporter\", \"value\": \"jamietanna\"}], \"metrics\": [{\"format\": \"CVSS\", \"cvssV4_0\": {\"version\": \"4.0\", \"baseScore\": 9.2, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"CRITICAL\", \"vectorString\": \"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"attackRequirements\": \"NONE\", \"privilegesRequired\": \"NONE\", \"subIntegrityImpact\": \"NONE\", \"vulnIntegrityImpact\": \"NONE\", \"subAvailabilityImpact\": \"NONE\", \"vulnAvailabilityImpact\": \"NONE\", \"subConfidentialityImpact\": \"HIGH\", \"vulnConfidentialityImpact\": \"HIGH\"}}, {\"format\": \"CVSS\", \"cvssV3_1\": {\"scope\": \"CHANGED\", \"version\": \"3.1\", \"baseScore\": 8.6, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N\", \"integrityImpact\": \"NONE\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"NONE\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"HIGH\"}}], \"affected\": [{\"vendor\": \"renovatebot\", \"product\": \"renovate\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"44.11.3\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"44.11.3\", \"versionType\": \"semver\"}], \"packageURL\": \"pkg:npm/renovate\", \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"renovatebot\", \"product\": \"renovate\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"44.11.3\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"44.11.3\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"renovatebot\", \"product\": \"renovate\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"44.11.3\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"44.11.3\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"renovatebot\", \"product\": \"renovate\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"44.11.3\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"44.11.3\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"renovatebot\", \"product\": \"renovate\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"15.4.0\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"15.4.0\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"renovatebot\", \"product\": \"renovate\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"15.4.0\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"15.4.0\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"renovatebot\", \"product\": \"renovate\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"15.4.0\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"15.4.0\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"renovatebot\", \"product\": \"renovate\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"15.4.0\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"15.4.0\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"renovatebot\", \"product\": \"renovate\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"15.4.0\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"15.4.0\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"renovatebot\", \"product\": \"renovate\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"15.4.0\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"15.4.0\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"renovatebot\", \"product\": \"renovate\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"15.4.0\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"15.4.0\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"renovatebot\", \"product\": \"renovate\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"15.4.0\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"15.4.0\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"renovatebot\", \"product\": \"renovate\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"15.4.0\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"15.4.0\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"renovatebot\", \"product\": \"renovate\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"15.4.0\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"15.4.0\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"renovatebot\", \"product\": \"renovate\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"15.4.0\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"15.4.0\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"renovatebot\", \"product\": \"renovate\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"10.4.0\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"10.4.0\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}, {\"vendor\": \"renovatebot\", \"product\": \"renovate\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"10.4.0\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"10.4.0\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}], \"datePublic\": \"2026-08-27T00:00:00.000Z\", \"references\": [{\"url\": \"https://github.com/renovatebot/renovate/security/advisories/GHSA-w57v-h33h-835c\", \"name\": \"GitHub Security Advisory (GHSA-w57v-h33h-835c)\", \"tags\": [\"vendor-advisory\"]}, {\"url\": \"https://www.vulncheck.com/advisories/renovate-before-44.11.3-credential-exfiltration-via-link-header-2\", \"name\": \"VulnCheck Advisory: Renovate before 44.11.3 Credential Exfiltration via Link Header\", \"tags\": [\"third-party-advisory\"]}], \"x_generator\": {\"engine\": \"vulncheck-endgame\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"Renovate, a dependency update tool, follows pagination links supplied by the GitHub server in the HTTP `Link` header when interacting with GitHub.com, GitHub Enterprise Cloud, or GitHub Enterprise Server, and sends the credentials configured for that host to the URL given as the \u0027next\u0027 page. Because the pagination URL is not validated against the host originally contacted, a malicious or compromised GitHub server can return a `Link` header pointing to an attacker-controlled host and cause Renovate to disclose those credentials to it. Exploitation requires that the GitHub server Renovate talks to (as the repository host or as a datasource such as github-releases, github-tags, or git-refs) is already malicious or compromised. The issue is fixed in renovate 44.11.3 (npm and renovate/renovate container images), Mend Renovate CE/EE images and the mend-renovate-ce helm chart 15.4.0, and the mend-renovate-enterprise-edition helm chart 10.4.0. There is no workaround; the pre-existing RENOVATE_X_REBASE_PAGINATION_LINKS option disables the new host check and should only be used with servers that intentionally use different pagination hosts.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-601\", \"description\": \"URL Redirection to Untrusted Site (\u0027Open Redirect\u0027)\"}]}], \"providerMetadata\": {\"orgId\": \"83251b91-4cc7-4094-a5c7-464a1b83ea10\", \"shortName\": \"VulnCheck\", \"dateUpdated\": \"2026-09-10T13:05:32.249Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2026-88881\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-09-15T14:23:11.566Z\", \"dateReserved\": \"2026-09-10T11:25:34.912Z\", \"assignerOrgId\": \"83251b91-4cc7-4094-a5c7-464a1b83ea10\", \"datePublished\": \"2026-09-10T13:05:32.249Z\", \"assignerShortName\": \"VulnCheck\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…