Security Advisories (8)
CVE-2020-14393 (2020-09-16)

A buffer overflow was found in perl-DBI < 1.643 in DBI.xs. A local attacker who is able to supply a string longer than 300 characters could cause an out-of-bounds write, affecting the availability of the service or integrity of data.

CVE-2020-14392 (2020-06-17)

An untrusted pointer dereference flaw was found in Perl-DBI < 1.643. A local attacker who is able to manipulate calls to dbd_db_login6_sv() could cause memory corruption, affecting the service's availability.

CVE-2019-20919 (2020-09-17)

An issue was discovered in the DBI module before 1.643 for Perl. The hv_fetch() documentation requires checking for NULL and the code does that. But, shortly thereafter, it calls SvOK(profile), causing a NULL pointer dereference.

CPANSA-DBI-2014-01 (2014-10-15)

DBD::File drivers open files from folders other than specifically passed using the f_dir attribute.

CVE-2014-10402 (2020-09-16)

An issue was discovered in the DBI module through 1.643 for Perl. DBD::File drivers can open files from folders other than those specifically passed via the f_dir attribute in the data source name (DSN). NOTE: this issue exists because of an incomplete fix for CVE-2014-10401.

CVE-2014-10401 (2020-09-11)

An issue was discovered in the DBI module before 1.632 for Perl. DBD::File drivers can open files from folders other than those specifically passed via the f_dir attribute.

CVE-2013-7491 (2020-09-11)

An issue was discovered in the DBI module before 1.628 for Perl. Stack corruption occurs when a user-defined function requires a non-trivial amount of memory and the Perl stack gets reallocated.

CVE-2013-7490 (2020-09-11)

An issue was discovered in the DBI module before 1.632 for Perl. Using many arguments to methods for Callbacks may lead to memory corruption.

NAME

DBI::Gofer::Transport::mod_perl - DBD::Gofer server-side transport for http

SYNOPSIS

In httpd.conf:

<Location /gofer>
    SetHandler perl-script 
    PerlHandler DBI::Gofer::Transport::mod_perl
</Location>

For the client-side see DBD::Gofer::Transport::http.

DESCRIPTION

This module implements a DBD::Gofer server-side http transport for mod_perl. After configuring this into your httpd.conf, users will be able to use the DBI to connect to databases via your apache httpd.

CONFIGURATION

Rather than provide a DBI proxy that will connect to any database as any user, you may well want to restrict access to just one or a few databases.

Or perhaps you want the database passwords to be stored only in httpd.conf so you don't have to maintain them in all your clients. In this case you'd probably want to use standard https security and authentication.

These kinds of configurations are supported by DBI::Gofer::Transport::mod_perl.

The most simple configuration looks like:

<Location /gofer>
    SetHandler perl-script
    PerlHandler DBI::Gofer::Transport::mod_perl
</Location>

That's equivalent to:

<Perl>
    DBI::Gofer::Transport::mod_perl->configuration({
        default => {
            default_connect_dsn => undef,
            forced_connect_dsn  => undef,
            default_connect_attributes => { },
            forced_connect_attributes  => { },
        },
    });
</Perl>

<Location /gofer/example>
    SetHandler perl-script
    PerlSetVar GoferConfig default
    PerlHandler DBI::Gofer::Transport::mod_perl
</Location>

The DBI::Gofer::Transport::mod_perl->configuration({...}) call defines named configurations. The PerlSetVar GoferConfig clause specifies the configuration to be used for that location.

XXX add detail inclusing specific examples

A single location can specify multiple configurations using PerlAddVar:

PerlSetVar GoferConfig default
PerlAddVar GoferConfig example_foo
PerlAddVar GoferConfig example_bar

in which case the configurations are merged with any entries in later configurations overriding those in earlier ones. In this way a small number of configurations can be mix-n-matched to create specific configurations for specific location urls.

AUTHOR AND COPYRIGHT

The DBD::Gofer, DBD::Gofer::* and DBI::Gofer::* modules are Copyright (c) 2007 Tim Bunce. Ireland. All rights reserved.

You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file.

SEE ALSO

DBD::Gofer and DBD::Gofer::Transport::http.