CVE-2025-50181
Medium · 5.3urllib3 redirects are not disabled when retries are disabled on PoolManager instantiation
CVSS
5.3
EPSS
0.5%
Published
Jun 18, 2025
CISA due date
—
Cloudanix analysis
Some Python applications may accidentally follow web redirects they were supposed to block, causing them to contact unintended websites or internal systems.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Other
- Component
- Library
- Class
- Open Redirect
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
This flaw affects urllib3 redirect handling, where redirects and retries are governed through the same Retry mechanism. In affected versions, application code that attempts to disable redirects at the individual request level, such as by using redirect=False, may not reliably prevent redirect processing under certain retry/redirect configurations. The practical technical impact is that an HTTP client may follow an attacker-controlled Location header even when the calling application expected redirect following to be disabled. This can cause outbound requests to unintended destinations and may weaken application-level controls that rely on blocking redirects, such as URL allowlists, anti-SSRF protections, or logic intended to inspect redirect responses without dereferencing them.
Why it matters to the business
Organizations using vulnerable urllib3 versions in Python applications may have services that make unintended outbound HTTP requests if they process attacker-influenced URLs or responses. The most likely business impact is exposure to server-side request forgery-style behavior, unexpected access to internal or restricted network locations, leakage of request metadata to attacker-controlled endpoints, or bypass of business logic that depends on redirects being blocked. The CVSS score is moderate, EPSS is low, and it is not listed in CISA KEV or associated with ransomware campaigns, so remediation should be prioritized through normal dependency management rather than treated as an active emergency unless the library is used in security-sensitive URL fetching paths.
How an attack unfolds
An attacker first identifies an application workflow that uses urllib3 to fetch a URL or communicate with an HTTP endpoint where the attacker can influence either the initial URL or the HTTP response. The application believes redirects are disabled for that request, commonly to avoid following untrusted Location headers. The attacker then returns an HTTP 3xx redirect response with a Location header pointing to an attacker-controlled, internal, cloud metadata, or otherwise sensitive destination. Due to the vulnerable redirect/retry interaction, urllib3 may follow the redirect despite the request-level redirect=False expectation. The application then makes an outbound request to the redirected target, which can disclose network reachability, send request metadata, trigger unintended actions, or interact with resources the attacker could not directly access.
How to fix it
Upgrade urllib3 to a version that includes the upstream fix. For source-based deployments tracking the urllib3 Git repository, ensure the code includes commit aaab4eccc10c965897540b21e15f11859d0b62e7 or a later release containing that commit. Rebuild and redeploy all applications, containers, virtual environments, serverless packages, and vendored dependencies that include urllib3. Where immediate upgrade is not possible, reduce exposure by avoiding attacker-controlled URLs, enforcing strict destination allowlists before every outbound request, validating the final resolved destination independently, blocking access to internal address ranges and cloud metadata endpoints at the network layer, and disabling or tightly configuring Retry redirect behavior globally rather than relying only on request-level redirect=False.
How to confirm the fix worked
Confirm the installed urllib3 version or source revision includes the fixed commit aaab4eccc10c965897540b21e15f11859d0b62e7 or a later patched release. Use software composition analysis, package lockfiles, container image scans, and runtime package inspection to identify all copies of urllib3, including vendored or transitive copies. Functionally validate the fix by creating a controlled test endpoint that returns a 3xx response with a Location header and verifying that application code using redirect=False does not issue a follow-up request to the redirected URL. Also verify outbound egress controls block internal IP ranges, link-local metadata services, and unapproved external domains regardless of application behavior.
Typical attack path
- Find an application feature that performs outbound HTTP requests using urllib3, such as URL previewing, webhook delivery, file import, API polling, or backend service integration.
- Provide or influence a URL, endpoint, or upstream HTTP service that the application will contact.
- Return an HTTP 301, 302, 303, 307, or 308 response containing a crafted Location header.
- Point the Location header to an attacker-controlled host or a restricted internal destination.
- Rely on the vulnerable urllib3 redirect/retry behavior to follow the redirect even though the application attempted to disable redirects for the request.
- Observe the resulting connection, captured request metadata, or effects of the unintended request to confirm impact.
How to detect it
There are no reliable CVE-specific indicators that prove exploitation because the behavior appears as ordinary HTTP redirect traffic. To assess possible prior exploitation, review application logs, HTTP client debug logs, reverse proxy logs, egress proxy logs, DNS logs, firewall logs, and cloud network flow logs for cases where an application received a 3xx response and then immediately made a follow-up outbound request to the Location target despite redirect blocking being expected. Pay special attention to redirects from attacker-controlled or user-supplied URLs to private IP ranges, loopback addresses, link-local addresses such as cloud metadata services, unusual ports, newly observed domains, or domains not normally contacted by the service. If urllib3 debug logging was enabled, search for redirect-related log messages around suspicious requests. Correlate timestamps between inbound user actions, upstream 3xx responses, DNS resolutions, and outbound connections to determine whether an attacker caused unintended follow-up requests.
What your security team should do
- Inventory all Python applications, containers, build artifacts, and vendored libraries that include urllib3.
- Prioritize remediation for services that fetch user-supplied URLs, process webhooks, crawl external content, proxy HTTP requests, or communicate with semi-trusted third-party endpoints.
- Upgrade urllib3 to a patched version or source revision containing commit aaab4eccc10c965897540b21e15f11859d0b62e7, then rebuild and redeploy affected artifacts.
- Add regression tests proving redirect=False requests do not follow 3xx Location headers in security-sensitive code paths.
- Enforce centralized outbound request controls: scheme restrictions, DNS/IP validation, denylisting of private and link-local ranges, and approved-domain allowlists.
- Review retry and redirect configuration across shared HTTP client wrappers to ensure redirect behavior is explicit and not inherited unintentionally.
- Monitor application and egress logs for unexpected 3xx-to-follow-up-request sequences, especially toward internal address space or unfamiliar external domains.
- Treat this as normal-priority dependency remediation unless local exposure involves untrusted URL fetching or internal network reachability, in which case raise priority.
The record
urllib3 handles redirects and retries using the same mechanism, which is controlled by the `Retry` object. The most common way to disable redirects is at the request level, as follows: ```python resp = urllib3.request("GET", "https://httpbin.org/redirect/1", redirect=False) print(resp.status)
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| PyPI | urllib3 | 0 | 2.5.0 |
| Chainguard | airflow-2 | 0 | 2.11.0-r5 |
| Chainguard | airflow-2-bitnami-compat | 0 | 2.11.0-r5 |
| Chainguard | airflow-2-compat | 0 | 2.11.0-r5 |
| Chainguard | airflow-2-iamguarded-compat | 0 | 2.11.0-r5 |
| Chainguard | airflow-3 | 0 | 3.0.2-r2 |
| Chainguard | airflow-3-bitnami-compat | 0 | 3.0.2-r2 |
| Chainguard | airflow-3-compat | 0 | 3.0.2-r2 |
| Chainguard | airflow-3-iamguarded-compat | 0 | 3.0.2-r2 |
| Chainguard | airflow-core-2 | 0 | 2.11.0-r3 |
| Chainguard | airflow-core-2-compat | 0 | 2.11.0-r3 |
| Chainguard | airflow-core-2-oci-entrypoint | 0 | 2.11.0-r3 |
| Chainguard | ansible-operator-compat | 0 | 1.41.0-r1 |
| Chainguard | apache-beam-python-3.11-sdk | 0 | 2.65.0-r2 |
| Chainguard | az | 0 | 2.74.0-r3 |
| Chainguard | az-iamguarded-compat | 0 | 2.74.0-r3 |
| Chainguard | azure-functions-host | 0 | 4.1045.100-r0 |
| Chainguard | azure-functions-host-compat | 0 | 4.1045.100-r0 |
| Chainguard | azure-functions-host-nodejs-worker | 0 | 4.1045.100-r0 |
| Chainguard | barman | 0 | 3.14.1-r0 |
| Chainguard | barman-cloudnative-pg | 0 | 3.14.1-r0 |
| Chainguard | confluent-docker-utils | 0 | 0.0.162-r1 |
| Chainguard | dask-gateway | 0 | 2025.4.0-r7 |
| Chainguard | dask-gateway-server | 0 | 2025.4.0-r7 |
| Chainguard | dask-kubernetes | 0 | 2025.4.3-r4 |
| Chainguard | datadog-agent-7.71-fakeintake | 0 | 7.71.2-r6 |
| Chainguard | datadog-agent-7.71-jmx | 0 | 7.71.2-r6 |
| Chainguard | datadog-agent-7.71-oci-compat | 0 | 7.71.2-r6 |
| Chainguard | datadog-agent-7.71-s6-overlay | 0 | 7.71.2-r6 |
| Chainguard | datadog-agent-7.72-fakeintake | 0 | 7.72.4-r4 |
| Chainguard | datadog-agent-7.72-jmx | 0 | 7.72.4-r4 |
| Chainguard | datadog-agent-7.72-oci-compat | 0 | 7.72.4-r4 |
| Chainguard | datadog-agent-7.72-s6-overlay | 0 | 7.72.4-r4 |
| Chainguard | datadog-agent-7.73-fakeintake | 0 | 7.73.2-r0 |
| Chainguard | datadog-agent-7.73-jmx | 0 | 7.73.1-r0 |
| Chainguard | datadog-agent-7.73-oci-compat | 0 | 7.73.1-r0 |
| Chainguard | datadog-agent-7.73-s6-overlay | 0 | 7.73.2-r0 |
| Chainguard | datadog-agent-fakeintake | 0 | 7.72.1-r0 |
| Chainguard | datadog-agent-fakeintake-fips | 0 | 7.72.0-r0 |
| Chainguard | datadog-agent-fips-7.71-fakeintake | 0 | 7.71.2-r5 |
| Chainguard | datadog-agent-fips-7.71-jmx | 0 | 7.71.2-r5 |
| Chainguard | datadog-agent-fips-7.71-oci-compat | 0 | 7.71.2-r5 |
| Chainguard | datadog-agent-fips-7.71-s6-overlay | 0 | 7.71.2-r5 |
| Chainguard | datadog-agent-fips-7.72-fakeintake | 0 | 7.72.4-r3 |
| Chainguard | datadog-agent-fips-7.72-jmx | 0 | 7.72.4-r3 |
| Chainguard | datadog-agent-fips-7.72-oci-compat | 0 | 7.72.4-r3 |
| Chainguard | datadog-agent-fips-7.72-s6-overlay | 0 | 7.72.4-r3 |
| Chainguard | datadog-agent-fips-7.73-fakeintake | 0 | 7.73.2-r0 |
| Chainguard | datadog-agent-fips-7.73-jmx | 0 | 7.73.2-r0 |
| Chainguard | datadog-agent-fips-7.73-oci-compat | 0 | 7.73.2-r0 |
| Chainguard | datadog-agent-fips-7.73-s6-overlay | 0 | 7.73.2-r0 |
| Chainguard | datadog-agent-jmx | 0 | 7.72.1-r0 |
| Chainguard | datadog-agent-jmx-fips | 0 | 7.72.0-r0 |
| Chainguard | datadog-agent-oci-compat | 0 | 7.71.2-r3 |
| Chainguard | datadog-agent-oci-compat-fips | 0 | 7.72.0-r0 |
| Chainguard | datadog-agent-s6-overlay | 0 | 7.71.2-r3 |
| Chainguard | datadog-agent-s6-overlay-fips | 0 | 7.72.0-r0 |
| Chainguard | datadog-cluster-agent | 0 | 7.71.2-r3 |
| Chainguard | datadog-cluster-agent-7.71 | 0 | 7.71.2-r6 |
| Chainguard | datadog-cluster-agent-7.71-oci-compat | 0 | 7.71.2-r6 |
| Chainguard | datadog-cluster-agent-7.72 | 0 | 7.72.4-r4 |
| Chainguard | datadog-cluster-agent-7.72-oci-compat | 0 | 7.72.4-r4 |
| Chainguard | datadog-cluster-agent-7.73 | 0 | 7.73.2-r0 |
| Chainguard | datadog-cluster-agent-7.73-oci-compat | 0 | 7.73.1-r0 |
| Chainguard | datadog-cluster-agent-fips | 0 | 7.72.1-r0 |
| Chainguard | datadog-cluster-agent-fips-7.71 | 0 | 7.71.2-r5 |
| Chainguard | datadog-cluster-agent-fips-7.71-oci-compat | 0 | 7.71.2-r5 |
| Chainguard | datadog-cluster-agent-fips-7.72 | 0 | 7.72.4-r3 |
| Chainguard | datadog-cluster-agent-fips-7.72-oci-compat | 0 | 7.72.4-r3 |
| Chainguard | datadog-cluster-agent-fips-7.73 | 0 | 7.73.2-r0 |
| Chainguard | datadog-cluster-agent-fips-7.73-oci-compat | 0 | 7.73.2-r0 |
| Chainguard | datadog-cluster-agent-oci-compat | 0 | 7.71.2-r3 |
| Chainguard | datadog-cluster-agent-oci-compat-fips | 0 | 7.72.0-r0 |
| Chainguard | dogstatsd | 0 | 7.72.1-r0 |
| Chainguard | dogstatsd-7.71 | 0 | 7.71.2-r6 |
| Chainguard | dogstatsd-7.72 | 0 | 7.72.4-r4 |
| Chainguard | dogstatsd-7.73 | 0 | 7.73.2-r0 |
| Chainguard | emissary | 0 | 3.10.0-r6 |
| Chainguard | emissary-apiext | 0 | 3.10.0-r6 |
| Chainguard | emissary-oci-entrypoint | 0 | 3.10.0-r6 |
| Chainguard | ggshield | 0 | 1.43.0-r0 |
| Chainguard | gitaly-config-18.3 | 0 | 18.3.5-r0 |
| Chainguard | gitaly-config-18.4 | 0 | 18.4.3-r0 |
| Chainguard | gitaly-config-18.5 | 0 | 18.5.1-r0 |
| Chainguard | gitaly-config-18.6 | 0 | 18.6.2-r0 |
| Chainguard | gitaly-config-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-base-18.3 | 0 | 18.3.5-r0 |
| Chainguard | gitlab-base-18.4 | 0 | 18.4.3-r0 |
| Chainguard | gitlab-base-18.5 | 0 | 18.5.1-r0 |
| Chainguard | gitlab-base-18.6 | 0 | 18.6.2-r0 |
| Chainguard | gitlab-base-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-base-fips-18.3 | 0 | 18.3.5-r1 |
| Chainguard | gitlab-base-fips-18.4 | 0 | 18.4.3-r1 |
| Chainguard | gitlab-base-fips-18.5 | 0 | 18.5.1-r1 |
| Chainguard | gitlab-base-fips-18.6 | 0 | 18.6.2-r1 |
| Chainguard | gitlab-base-fips-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-certificates-18.3 | 0 | 18.3.5-r0 |
| Chainguard | gitlab-certificates-18.4 | 0 | 18.4.3-r0 |
| Chainguard | gitlab-certificates-18.5 | 0 | 18.5.1-r0 |
| Chainguard | gitlab-certificates-18.6 | 0 | 18.6.2-r0 |
| Chainguard | gitlab-certificates-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-cfssl-self-sign-scripts-18.3 | 0 | 18.3.5-r0 |
| Chainguard | gitlab-cfssl-self-sign-scripts-18.4 | 0 | 18.4.3-r0 |
| Chainguard | gitlab-cfssl-self-sign-scripts-18.5 | 0 | 18.5.1-r0 |
| Chainguard | gitlab-cfssl-self-sign-scripts-18.6 | 0 | 18.6.1-r1 |
| Chainguard | gitlab-cfssl-self-sign-scripts-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-cng-18.3 | 0 | 18.3.5-r0 |
| Chainguard | gitlab-cng-18.4 | 0 | 18.4.3-r0 |
| Chainguard | gitlab-cng-18.5 | 0 | 18.5.1-r0 |
| Chainguard | gitlab-cng-18.6 | 0 | 18.6.2-r0 |
| Chainguard | gitlab-cng-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-cng-fips-18.3 | 0 | 18.3.5-r1 |
| Chainguard | gitlab-cng-fips-18.4 | 0 | 18.4.3-r1 |
| Chainguard | gitlab-cng-fips-18.5 | 0 | 18.5.1-r1 |
| Chainguard | gitlab-cng-fips-18.6 | 0 | 18.6.1-r1 |
| Chainguard | gitlab-cng-fips-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-container-registry-18.3 | 0 | 18.3.5-r0 |
| Chainguard | gitlab-container-registry-18.4 | 0 | 18.4.3-r0 |
| Chainguard | gitlab-container-registry-18.5 | 0 | 18.5.1-r0 |
| Chainguard | gitlab-container-registry-18.6 | 0 | 18.6.2-r0 |
| Chainguard | gitlab-container-registry-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-container-registry-fips-18.3 | 0 | 18.3.5-r1 |
| Chainguard | gitlab-container-registry-fips-18.4 | 0 | 18.4.3-r1 |
| Chainguard | gitlab-container-registry-fips-18.5 | 0 | 18.5.1-r1 |
| Chainguard | gitlab-container-registry-fips-18.6 | 0 | 18.6.2-r1 |
| Chainguard | gitlab-container-registry-fips-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-container-registry-scripts-18.3 | 0 | 18.3.5-r0 |
| Chainguard | gitlab-container-registry-scripts-18.4 | 0 | 18.4.4-r0 |
| Chainguard | gitlab-container-registry-scripts-18.5 | 0 | 18.5.1-r0 |
| Chainguard | gitlab-container-registry-scripts-18.6 | 0 | 18.6.1-r1 |
| Chainguard | gitlab-container-registry-scripts-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-exporter-18.3 | 0 | 18.3.5-r0 |
| Chainguard | gitlab-exporter-18.4 | 0 | 18.4.3-r0 |
| Chainguard | gitlab-exporter-18.5 | 0 | 18.5.1-r0 |
| Chainguard | gitlab-exporter-18.6 | 0 | 18.6.2-r0 |
| Chainguard | gitlab-exporter-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-exporter-scripts-18.3 | 0 | 18.3.5-r0 |
| Chainguard | gitlab-exporter-scripts-18.4 | 0 | 18.4.3-r0 |
| Chainguard | gitlab-exporter-scripts-18.5 | 0 | 18.5.1-r0 |
| Chainguard | gitlab-exporter-scripts-18.6 | 0 | 18.6.2-r0 |
| Chainguard | gitlab-exporter-scripts-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-gitaly-scripts-18.3 | 0 | 18.3.5-r0 |
| Chainguard | gitlab-gitaly-scripts-18.4 | 0 | 18.4.3-r0 |
| Chainguard | gitlab-gitaly-scripts-18.5 | 0 | 18.5.1-r0 |
| Chainguard | gitlab-gitaly-scripts-18.6 | 0 | 18.6.2-r0 |
| Chainguard | gitlab-gitaly-scripts-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-logger-18.3 | 0 | 18.3.5-r0 |
| Chainguard | gitlab-logger-18.4 | 0 | 18.4.3-r0 |
| Chainguard | gitlab-logger-18.5 | 0 | 18.5.1-r0 |
| Chainguard | gitlab-logger-18.6 | 0 | 18.6.2-r0 |
| Chainguard | gitlab-logger-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-logger-fips-18.3 | 0 | 18.3.5-r1 |
| Chainguard | gitlab-logger-fips-18.4 | 0 | 18.4.3-r1 |
| Chainguard | gitlab-logger-fips-18.5 | 0 | 18.5.1-r1 |
| Chainguard | gitlab-logger-fips-18.6 | 0 | 18.6.1-r1 |
| Chainguard | gitlab-logger-fips-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-pages-scripts-18.3 | 0 | 18.3.5-r0 |
| Chainguard | gitlab-pages-scripts-18.4 | 0 | 18.4.3-r0 |
| Chainguard | gitlab-pages-scripts-18.5 | 0 | 18.5.1-r0 |
| Chainguard | gitlab-pages-scripts-18.6 | 0 | 18.6.2-r0 |
| Chainguard | gitlab-pages-scripts-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-rails-scripts-18.3 | 0 | 18.3.5-r0 |
| Chainguard | gitlab-rails-scripts-18.4 | 0 | 18.4.3-r0 |
| Chainguard | gitlab-rails-scripts-18.5 | 0 | 18.5.1-r0 |
| Chainguard | gitlab-rails-scripts-18.6 | 0 | 18.6.2-r0 |
| Chainguard | gitlab-rails-scripts-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-rails-scripts-fips-18.3 | 0 | 18.3.5-r1 |
| Chainguard | gitlab-rails-scripts-fips-18.4 | 0 | 18.4.3-r1 |
| Chainguard | gitlab-rails-scripts-fips-18.5 | 0 | 18.5.1-r1 |
| Chainguard | gitlab-rails-scripts-fips-18.6 | 0 | 18.6.2-r0 |
| Chainguard | gitlab-rails-scripts-fips-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-shell-18.3 | 0 | 18.3.5-r0 |
| Chainguard | gitlab-shell-18.4 | 0 | 18.4.3-r0 |
| Chainguard | gitlab-shell-18.5 | 0 | 18.5.1-r0 |
| Chainguard | gitlab-shell-18.6 | 0 | 18.6.2-r0 |
| Chainguard | gitlab-shell-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-shell-fips-18.3 | 0 | 18.3.5-r1 |
| Chainguard | gitlab-shell-fips-18.4 | 0 | 18.4.3-r1 |
| Chainguard | gitlab-shell-fips-18.5 | 0 | 18.5.1-r1 |
| Chainguard | gitlab-shell-fips-18.6 | 0 | 18.6.1-r1 |
| Chainguard | gitlab-shell-fips-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-shell-scripts-18.3 | 0 | 18.3.6-r0 |
| Chainguard | gitlab-shell-scripts-18.4 | 0 | 18.4.3-r0 |
| Chainguard | gitlab-shell-scripts-18.5 | 0 | 18.5.1-r0 |
| Chainguard | gitlab-shell-scripts-18.6 | 0 | 18.6.2-r0 |
| Chainguard | gitlab-shell-scripts-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-sidekiq-ce-18.3 | 0 | 18.3.5-r0 |
| Chainguard | gitlab-sidekiq-ce-18.4 | 0 | 18.4.3-r0 |
| Chainguard | gitlab-sidekiq-ce-18.5 | 0 | 18.5.1-r0 |
| Chainguard | gitlab-sidekiq-ce-18.6 | 0 | 18.6.2-r0 |
| Chainguard | gitlab-sidekiq-ce-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-sidekiq-ce-fips-18.3 | 0 | 18.3.5-r1 |
| Chainguard | gitlab-sidekiq-ce-fips-18.4 | 0 | 18.4.3-r1 |
| Chainguard | gitlab-sidekiq-ce-fips-18.5 | 0 | 18.5.2-r0 |
| Chainguard | gitlab-sidekiq-ce-fips-18.6 | 0 | 18.6.1-r1 |
| Chainguard | gitlab-sidekiq-ce-fips-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-webservice-ce-18.3 | 0 | 18.3.5-r0 |
| Chainguard | gitlab-webservice-ce-18.4 | 0 | 18.4.3-r0 |
| Chainguard | gitlab-webservice-ce-18.5 | 0 | 18.5.1-r0 |
| Chainguard | gitlab-webservice-ce-18.6 | 0 | 18.6.2-r0 |
Related vulnerabilities
- CVE-2026-21441 Decompression-bomb safeguards bypassed when following HTTP redirects (streaming API) Also affects urllib3
- CVE-2025-66471 urllib3 Streaming API improperly handles highly compressed data Also affects urllib3
- CVE-2025-66418 urllib3 allows an unbounded number of links in the decompression chain Also affects urllib3
- CVE-2025-50182 urllib3 does not control redirects in browsers and Node.js Also affects urllib3
- CVE-2026-4539 A security flaw has been discovered in pygments up to 2.19.2. Also affects airflow-2
- CVE-2026-30922 pyasn1 is a generic ASN.1 library for Python. Also affects airflow-2
- CVE-2026-27448 pyOpenSSL is a Python wrapper around the OpenSSL library. Also affects airflow-2
- CVE-2026-27459 pyOpenSSL is a Python wrapper around the OpenSSL library. Also affects airflow-2