Security Advisories (9)
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-2005-0077 (2005-05-02)

Allows local users to overwrite arbitrary files via a symlink attack on a temporary PID file.

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::Shell - Interactive command shell for the DBI

SYNOPSIS

perl -MDBI::Shell -e shell [<DBI data source> [<user> [<password>]]]

or

dbish [<DBI data source> [<user> [<password>]]]

DESCRIPTION

The DBI::Shell module (and dbish command, if installed) provide a simple but effective command line interface for the Perl DBI module.

DBI::Shell is very new, very experimental and very subject to change. Your milage will vary. Interfaces will change with each release.

TO DO

Proper docs - but not yet, too much is changing.

Commands: load (query?) from file save (query?) to file

Use Data::ShowTable if available.

Define DBI::Shell plug-in semantics. Implement import/export as plug-in module

Batch mode

Completion hooks

Set/Get DBI::Shell options

Set/Get DBI handle attributes

Portability

COMMANDS

Many commands - few documented, yet!

help
/help
connect
/connect               (pick from available drivers and sources)
/connect dbi:Oracle    (pick source from based on driver)
/connect dbi:YourDriver:YourSource i.e. dbi:Oracle:mysid

AUTHORS and ACKNOWLEDGEMENTS

The DBI::Shell has a long lineage.

It started life around 1994-1997 as the pmsql script written by Andreas König. Jochen Wiedmann picked it up and ran with it (adding much along the way) as dbimon, bundled with his DBD::mSQL driver modules. In 1998, around the time I wanted to bundle a shell with the DBI, Adam Marks was working on a dbish modeled after the Sybase sqsh utility.

Wanting to start from a cleaner slate than the feature-full but complex dbimon, I worked with Adam to create a fairly open modular and very configurable DBI::Shell module. Along the way Tom Lowery chipped in ideas and patches. As we go further along more useful code from Jochen's dbimon is bound to find it's way back in.

COPYRIGHT

The DBI::Shell module is Copyright (c) 1998 Tim Bunce. England. All rights reserved. Portions are Copyright by Jochen Wiedmann, Adam Marks and Tom Lowery.

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

1 POD Error

The following errors were encountered while parsing the POD:

Around line 895:

Non-ASCII character seen before =encoding in 'König.'. Assuming CP1252