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.
{
"binaries": [
{
"binary_name": "libperl5.34",
"binary_version": "5.34.0-3ubuntu1.7"
},
{
"binary_name": "perl",
"binary_version": "5.34.0-3ubuntu1.7"
},
{
"binary_name": "perl-base",
"binary_version": "5.34.0-3ubuntu1.7"
},
{
"binary_name": "perl-debug",
"binary_version": "5.34.0-3ubuntu1.7"
},
{
"binary_name": "perl-modules-5.34",
"binary_version": "5.34.0-3ubuntu1.7"
}
]
}{
"binaries": [
{
"binary_name": "libperl5.38t64",
"binary_version": "5.38.2-3.2ubuntu0.3"
},
{
"binary_name": "perl",
"binary_version": "5.38.2-3.2ubuntu0.3"
},
{
"binary_name": "perl-base",
"binary_version": "5.38.2-3.2ubuntu0.3"
},
{
"binary_name": "perl-debug",
"binary_version": "5.38.2-3.2ubuntu0.3"
},
{
"binary_name": "perl-modules-5.38",
"binary_version": "5.38.2-3.2ubuntu0.3"
}
]
}{
"binaries": [
{
"binary_name": "libperl5.40",
"binary_version": "5.40.1-6ubuntu0.1"
},
{
"binary_name": "perl",
"binary_version": "5.40.1-6ubuntu0.1"
},
{
"binary_name": "perl-base",
"binary_version": "5.40.1-6ubuntu0.1"
},
{
"binary_name": "perl-debug",
"binary_version": "5.40.1-6ubuntu0.1"
},
{
"binary_name": "perl-modules-5.40",
"binary_version": "5.40.1-6ubuntu0.1"
}
]
}{
"binaries": [
{
"binary_name": "libperl5.40",
"binary_version": "5.40.1-7ubuntu0.1"
},
{
"binary_name": "perl",
"binary_version": "5.40.1-7ubuntu0.1"
},
{
"binary_name": "perl-base",
"binary_version": "5.40.1-7ubuntu0.1"
},
{
"binary_name": "perl-debug",
"binary_version": "5.40.1-7ubuntu0.1"
},
{
"binary_name": "perl-modules-5.40",
"binary_version": "5.40.1-7ubuntu0.1"
}
]
}{
"binaries": [
{
"binary_name": "libcgi-fast-perl",
"binary_version": "5.18.2-2ubuntu1.7+esm7"
},
{
"binary_name": "libperl5.18",
"binary_version": "5.18.2-2ubuntu1.7+esm7"
},
{
"binary_name": "perl",
"binary_version": "5.18.2-2ubuntu1.7+esm7"
},
{
"binary_name": "perl-base",
"binary_version": "5.18.2-2ubuntu1.7+esm7"
},
{
"binary_name": "perl-debug",
"binary_version": "5.18.2-2ubuntu1.7+esm7"
},
{
"binary_name": "perl-modules",
"binary_version": "5.18.2-2ubuntu1.7+esm7"
}
]
}{
"binaries": [
{
"binary_name": "libperl5.22",
"binary_version": "5.22.1-9ubuntu0.9+esm2"
},
{
"binary_name": "perl",
"binary_version": "5.22.1-9ubuntu0.9+esm2"
},
{
"binary_name": "perl-base",
"binary_version": "5.22.1-9ubuntu0.9+esm2"
},
{
"binary_name": "perl-debug",
"binary_version": "5.22.1-9ubuntu0.9+esm2"
},
{
"binary_name": "perl-modules-5.22",
"binary_version": "5.22.1-9ubuntu0.9+esm2"
}
]
}{
"binaries": [
{
"binary_name": "libperl5.26",
"binary_version": "5.26.1-6ubuntu0.7+esm2"
},
{
"binary_name": "perl",
"binary_version": "5.26.1-6ubuntu0.7+esm2"
},
{
"binary_name": "perl-base",
"binary_version": "5.26.1-6ubuntu0.7+esm2"
},
{
"binary_name": "perl-debug",
"binary_version": "5.26.1-6ubuntu0.7+esm2"
},
{
"binary_name": "perl-modules-5.26",
"binary_version": "5.26.1-6ubuntu0.7+esm2"
}
]
}{
"binaries": [
{
"binary_name": "libperl5.30",
"binary_version": "5.30.0-9ubuntu0.5+esm2"
},
{
"binary_name": "perl",
"binary_version": "5.30.0-9ubuntu0.5+esm2"
},
{
"binary_name": "perl-base",
"binary_version": "5.30.0-9ubuntu0.5+esm2"
},
{
"binary_name": "perl-debug",
"binary_version": "5.30.0-9ubuntu0.5+esm2"
},
{
"binary_name": "perl-modules-5.30",
"binary_version": "5.30.0-9ubuntu0.5+esm2"
}
]
}