Security Advisories (3)
HTTP::Tiny v0.082, a Perl core module since v5.13.9 and available standalone on CPAN, does not verify TLS certs by default. Users must opt-in with the verify_SSL=>1 flag to verify certs when using HTTPS. Resulting in a CWE-1188: Insecure Default Initialization of Resource weakness.
- https://blog.hackeriet.no/perl-http-tiny-insecure-tls-default-affects-cpan-modules/
- https://github.com/chansen/p5-http-tiny/issues/152
- https://github.com/chansen/p5-http-tiny/pull/151
- https://hackeriet.github.io/cpan-http-tiny-overview/
- https://www.reddit.com/r/perl/comments/111tadi/psa_httptiny_disabled_ssl_verification_by_default/
- https://github.com/NixOS/nixpkgs/pull/187480
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=962407
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=954089
- https://salsa.debian.org/perl-team/interpreter/perl/-/commit/1490431e40e22052f75a0b3449f1f53cbd27ba92.patch
- https://github.com/chansen/p5-http-tiny/issues/134
- https://github.com/chansen/p5-http-tiny/issues/68
HTTP::Tiny versions before 0.093 for Perl do not validate CRLF in HTTP request lines or control field header values. The unvalidated inputs are the method and URI in the request line, the URL host that becomes the `Host:` header, and HTTP/1.1 control data field values. An attacker who controls one of these inputs, for example a user supplied URL passed to a webhook or URL fetch endpoint, can inject additional headers and smuggle requests to the upstream server.
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.
- https://github.com/Perl-Toolchain-Gang/HTTP-Tiny/pull/36
- https://github.com/Perl-Toolchain-Gang/HTTP-Tiny/commit/84984ef3930ddd4afcf5eb83b40d3cee200739c3.patch
- https://github.com/Perl-Toolchain-Gang/HTTP-Tiny/commit/e7a03aedf2395158f2b0d3bad2df943349227bb3.patch
- https://github.com/Perl-Toolchain-Gang/HTTP-Tiny/commit/8f32ca89e21c3ad0422adc698fa6ad17a193f55f.patch
- https://metacpan.org/release/HAARG/HTTP-Tiny-0.095-TRIAL/changes
Changes for version 0.069 - 2016-10-05 (TRIAL RELEASE)
- INTERNAL
- Lazy load Carp only if needed.
Documentation
Modules
Examples
Module Install Instructions
To install HTTP::Tiny, copy and paste the appropriate command in to your terminal.
cpanm HTTP::Tiny
perl -MCPAN -e shell
install HTTP::Tiny
For more information on module installation, please visit the detailed CPAN module installation guide.