Skip to main content

HTTP::Tiny CVE-2026-7017

| EUVDEUVD-2026-42072 HIGH
Insufficiently Protected Credentials (CWE-522)
2026-07-07 CPANSec GHSA-pgc4-5jjm-7rr7
7.1
CVSS 3.1 · Vendor: CPANSec
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Attacker controls redirect target
  2. Delivery
    Victim app sends request with Authorization/Cookie header
  3. Exploit
    Server returns 3xx to attacker origin
  4. Execution
    HTTP::Tiny re-sends credentials cross-origin
  5. Impact
    Attacker captures and replays credentials

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V6 - Authentication Credential protection in transit/storage
Exploitation Conditions

Exploitation requires three concrete prerequisites: (1) the calling Perl code must pass a credential header - Authorization, Cookie, or Proxy-Authorization - via HTTP::Tiny's explicit headers argument; (2) automatic redirect following must be active, which is the default (HTTP::Tiny follows redirects unless max_redirect is lowered); and (3) the attacker must be able to make the requested server emit a 3xx Location pointing to an origin they control, either by owning/compromising that server or by acting as a man-in-the-middle. Limiting factors: the flaw does not fire for credentials derived from URL userinfo (already stripped), it needs the victim client to actually initiate the request (CVSS UI:R), and applications that never send explicit credential headers or that disable redirects are unaffected. The https-to-http downgrade exposure additionally requires the redirect to name a plaintext http target.

Impact

The signals are largely consistent and point to a moderate, disclosure-oriented risk rather than an urgent RCE-class emergency. The CVSS 3.1 base of 7.1 (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N) reflects a network-reachable, low-complexity, unauthenticated confidentiality loss that still depends on victim interaction (the client must make a request that gets redirected). CISA's SSVC framework aligns with lower urgency: Exploitation=none, Automatable=no, Technical Impact=partial. There is no KEV listing and no public exploit identified at time of analysis, and no EPSS score was provided. Key caveat: exploitation requires the calling application to explicitly send credential headers AND an attacker to influence the redirect target (by controlling/compromising the requested server or via man-in-the-middle injecting a 3xx), so real-world exposure is narrower than the network vector alone implies. The I:L in the vendor vector is debatable - the primary demonstrated impact is confidentiality, though leaked credentials can be replayed.

Exploit ScenarioDerived

An application uses HTTP::Tiny to call an API with an explicit Authorization or Cookie header; an attacker who controls, has compromised, or can MITM that endpoint returns a 302 redirect pointing at attacker.example. HTTP::Tiny transparently follows the redirect and re-sends the same credential headers to the attacker's host, who logs the bearer token or session cookie and replays it. No exploit code is publicly identified, but the network-based, low-complexity nature (AV:N/AC:L) makes the technique straightforward once a redirect can be influenced.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 07, 2026

Credential leakage in the Perl HTTP::Tiny client (all versions before 0.095) lets an attacker who controls a redirect destination harvest sensitive headers. When a server answers with a 3xx redirect, HTTP::Tiny re-sends caller-supplied Authorization, Cookie and Proxy-Authorization headers to the new host without verifying it shares the original origin, including across scheme, host or port boundaries and over https-to-http downgrades that expose them in cleartext on the wire. No public exploit is identified at time of analysis and CISA SSVC rates exploitation as none, but the flaw is well-documented and a vendor patch is available in 0.095.

RemediationAI

Vendor-released patch: upgrade HTTP::Tiny to 0.095 (initially published as the 0.095-TRIAL release at https://metacpan.org/release/HAARG/HTTP-Tiny-0.095-TRIAL/changes); the fixes are in commits 84984ef3, e7a03aed and 8f32ca89 (PR https://github.com/Perl-Toolchain-Gang/HTTP-Tiny/pull/36). If you cannot upgrade immediately, the most effective compensating control is to disable automatic redirect following by setting max_redirect => 0 on the client, then inspect the Location header and re-issue the request yourself only when the target origin matches - the trade-off is that legitimate redirect-based workflows break and must be handled manually. Alternatively, stop passing Authorization, Cookie and Proxy-Authorization via the explicit headers argument for requests that may redirect, or attach credential headers only after confirming the final resolved host, which adds application complexity. Also avoid non-TLS (http) endpoints for authenticated calls to prevent downgrade exposure. See the coordinated advisory at https://seclists.org/oss-sec/2026/q3/87 and https://vuldb.com/vuln/376670.

Affected VersionsENISA

HTTP::Tiny 0 <0.095

Affected Packages

euvd http_tiny fix: 0.095

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

HTTP::Tiny is a small, dependency-free HTTP/1.1 user agent that ships with Perl core and underlies much of the CPAN toolchain and countless scripts. The defect is in its redirect-following logic: _maybe_redirect follows the Location: header on a 3xx response, and _prepare_headers_and_cb re-merges the caller's original headers hash into the follow-up request with no same-origin check. The module's POD claimed 'Authorization headers will not be included in a redirected request,' but that stripping only ever applied to Basic-auth credentials parsed from the URL userinfo, not to headers the caller passed explicitly. This maps to CWE-522 (Insufficiently Protected Credentials): secrets intended for one origin are transmitted to an unrelated origin, and the affected component is precisely cpe:2.3:a:haarg:http::tiny.

Know when Http gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (CPANSec) PRIMARY 7.1 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N
vuln.today AI 6.5 MEDIUM

Network-reachable, low-complexity credential disclosure needing no privileges but requiring the client to make a redirected request (UI:R); impact is pure confidentiality so I and A are N.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
SUSE HIGH

Primary rating from Vendor (CPANSec).

CVSS VectorVendor: CPANSec

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
None

Lifecycle Timeline

2
CVSS changed
Jul 07, 2026 - 19:22 NVD
7.1 (HIGH)
CVE Published
Jul 07, 2026 - 17:41 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

HTTP::Tiny versions before 0.095 for Perl forward credential headers to cross-origin redirect targets.

When the server returns a 3xx redirect, _maybe_redirect follows the Location: header and _prepare_headers_and_cb re-merges the caller's headers argument into the new request, without checking whether the redirect target shares an origin with the original URL. Caller-supplied Authorization, Cookie and Proxy-Authorization headers are therefore re-sent to whatever host the redirect names, across scheme, host or port boundaries, and including https to http downgrades that expose them in plaintext on the wire.

The HTTP::Tiny POD note that "Authorization headers will not be included in a redirected request" applied only to the URL-userinfo Basic-auth path, not to headers passed explicitly by the caller.

Executive ViewAI

Why It Matters

Perl HTTP::Tiny client (versions before 0.095) leaks authentication credentials and session cookies when following HTTP redirects to attacker-controlled destinations; while no public exploit has been identified, this vulnerability exposes organizations to significant unauthorized access risk. Organizations using HTTP::Tiny-based applications risk credential compromise and data breach if those applications process external or user-influenced redirects. A vendor patch is available and should be prioritized for deployment across all affected systems.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
High
core Perl module bundled with Perl, used by CPAN toolchain
Social Media
2
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Http

View all
CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2026-84997 HIGH POC
7.5 Sep 16

Remote, unauthenticated denial of service affects react/http versions 0.6.0 through 1.11.0, where a malformed Transfer-E

CVE-2020-25574 HIGH POC
7.5 Sep 14

An issue was discovered in the http crate before 0.1.20 for Rust. Rated high severity (CVSS 7.5), this vulnerability is

CVE-2022-31081 MEDIUM POC
6.5 Jun 27

HTTP::Daemon is a simple http server class written in perl. Rated medium severity (CVSS 6.5), this vulnerability is remo

CVE-2020-35669 MEDIUM POC
6.1 Dec 24

An issue was discovered in the http package through 0.12.2 for Dart. Rated medium severity (CVSS 6.1), this vulnerabilit

CVE-2026-3256 CRITICAL
9.8 Mar 28

HTTP::Session versions through 0.53 for Perl defaults to using insecurely generated session ids.

CVE-2023-31486 HIGH
8.1 Apr 29

HTTP::Tiny before 0.083, a Perl core module since 5.13.9 and available standalone on CPAN, has an insecure default TLS c

CVE-2026-104827 HIGH
7.5 Oct 15

Unbounded response-header buffering in ReactPHP's HTTP client (react/http) versions 1.0.0 through 1.11.0 allows a malici

CVE-2026-7010 MEDIUM
6.5 May 11

HTTP::Tiny versions before 0.093 for Perl fail to validate carriage return and line feed (CRLF) characters in HTTP reque

CVE-2018-25160 MEDIUM
6.5 Feb 27

HTTP::Session2 versions through 1.09 for Perl does not validate the format of user provided session ids, enabling code i

CVE-2026-3255 MEDIUM
6.5 Feb 27

HTTP::Session2 before version 1.12 for Perl generates predictable session identifiers on Windows systems when /dev/urand

CVE-2023-26044 MEDIUM
5.3 May 17

react/http is an event-driven, streaming HTTP client and server implementation for ReactPHP. Rated medium severity (CVSS

Vendor StatusVendor

SUSE

Severity: Important
Product Status
openSUSE Tumbleweed Fixed

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy