Security Advisories (2)
CVE-2023-31486 (2023-02-14)

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.

CVE-2026-7010 (2026-05-11)

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.

Changes for version 0.077 - 2021-07-22 (TRIAL RELEASE)

  • ADDED
    • Added a `patch` helper method for the HTTP `PATCH` verb.
    • If the REQUEST_METHOD environment variable is set, then CGI_HTTP_PROXY replaces HTTP_PROXY.
  • FIXED
    • Unsupported scheme errors early without giving an uninitialized value warning first.
    • Sends Content-Length: 0 on empty body PUT/POST. This is not in the spec, but some servers require this.
    • Allows optional status line reason, as clarified in RFC 7230.
    • Ignore SIGPIPE on reads as well as writes, as IO::Socket::SSL says that SSL reads can also send writes as a side effect.
    • Check if a server has closed a connection before preserving it for reuse.
  • DOCS
    • Clarified that exceptions/errors result in 599 status codes.
  • PREREQS
    • Optional IO::Socket::IP prereq must be at least version 0.32 to be used. This ensures correct timeout support.

Documentation

Modules

A small, simple, correct HTTP/1.1 client