Security Advisories (4)
CVE-2010-2253 (2010-07-06)

lwp-download in libwww-perl before 5.835 does not reject downloads to filenames that begin with a . (dot) character, which allows remote servers to create or overwrite files via (1) a 3xx redirect to a URL with a crafted filename or (2) a Content-Disposition header that suggests a crafted filename, and possibly execute arbitrary code as a consequence of writing to a dotfile in a home directory.

CPANSA-libwww-perl-2001-01 (2001-03-14)

If LWP::UserAgent::env_proxy is called in a CGI environment, the case-insensitivity when looking for "http_proxy" permits "HTTP_PROXY" to be found, but this can be trivially set by the web client using the "Proxy:" header.

CPANSA-libwww-perl-2017-01 (2017-11-06)

LWP::Protocol::file can open existent file from file:// scheme. However, current version of LWP uses open FILEHANDLE,EXPR and it has ability to execute arbitrary command

CVE-2011-0633 (2011-01-20)

The Net::HTTPS module in libwww-perl (LWP) before 6.00, as used in WWW::Mechanize, LWP::UserAgent, and other products, when running in environments that do not set the If-SSL-Cert-Subject header, does not enable full validation of SSL certificates by default, which allows remote attackers to spoof servers via man-in-the-middle (MITM) attacks involving hostnames that are not properly validated.

NAME

HTTP::Headers::Util - Header value parsing utility functions

SYNOPSIS

use HTTP::Headers::Util qw(split_header_words);
@values = split_header_words($h->header("Content-Type"));

DESCRIPTION

This module provide a few functions that helps parsing and construction of valid header values. None of the functions are exported by default.

The following functions are provided:

split_header_words( @header_values )

This function will split the header values given as argument into a list of anonymous arrays containing key/value pairs. The function know how to deal with ",", ";" and "=" as well as quoted values. Multiple values are treated as if they were separated by comma.

This is easier to describe with an example:

split_header_words('foo="bar"; port="80,81"; discard, bar=baz')
split_header_words('text/html; charset="iso-8859-1");

will return

[foo=>'bar', port=>'80,81', discard=> undef], [bar=>'baz' ]
['text/html' => undef, charset => 'iso-8859-1']
join_header_words( @arrays )

This will do the opposite convertion of what split_header_words() does. It takes a list of anonymous arrays as argument and produce a single header value. Attribute values are quoted if needed. Example:

join_header_words(["text/plain" => undef, charset => "iso-8859/1"]);

COPYRIGHT

Copyright 1997, Gisle Aas

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.