Security Advisories (1)
CVE-2025-40931 (2026-03-05)

Apache::Session::Generate::MD5 versions through 1.94 for Perl create insecure session id. Apache::Session::Generate::MD5 generates session ids insecurely. The default session id generator returns a MD5 hash seeded with the built-in rand() function, the epoch time, and the PID. The PID will come from a small set of numbers, and the epoch time may be guessed, if it is not leaked from the HTTP Date header. The built-in rand function is unsuitable for cryptographic usage. Predicable session ids could allow an attacker to gain access to systems.

NAME

Apache::Session::Store::File - Store persistent data on the filesystem

SYNOPSIS

use Apache::Session::Store::File;

my $store = Apache::Session::Store::File->new;

$store->insert($ref);
$store->update($ref);
$store->materialize($ref);
$store->remove($ref);

DESCRIPTION

This module fulfills the storage interface of Apache::Session. The serialized objects are stored in files on your filesystem.

OPTIONS

This module requires one argument in the usual Apache::Session style. The name of the option is Directory, and the value is the full path of the directory where you wish to place the files. Example

tie %s, 'Apache::Session::File', undef,
   {Directory => '/tmp/sessions'};

NOTES

All session objects are stored in the same directory. Some filesystems, such as Linux's ext2fs, have O(n) performance where n is the number of files in a directory. Other filesystems, like Sun's UFS, and Linux's reiserfs, do not have this problem. You should consider your filesystem's performance before using this module to store many objects.

AUTHOR

This module was written by Jeffrey William Baker <jwbaker@acm.org>.

SEE ALSO

Apache::Session