Security Advisories (3)
CVE-2026-5080 (2026-04-30)

Dancer::Session::Abstract versions through 1.3522 for Perl generates session ids insecurely. The session id is generated from summing the character codepoints of the absolute pathname with the process id, the epoch time and calls to the built-in rand() function to return a number between 0 and 999-billion, and concatenating that result three times. The path name might be known or guessed by an attacker, especially for applications known to be written using Dancer with standard installation locations. The epoch time can be guessed by an attacker, and may be leaked in the HTTP header. The process id comes from a small set of numbers, and workers may have sequential process ids. The built-in rand() function is seeded with 32-bits and is considered unsuitable for security applications. Predictable session ids could allow an attacker to gain access to systems.

CVE-2012-5572 (2014-05-30)

CRLF injection vulnerability in the cookie method allows remote attackers to inject arbitrary HTTP headers and conduct HTTP response splitting attacks via a cookie name.

CVE-2011-1589 (2011-04-05)

Directory traversal vulnerability (Mojolicious report, but Dancer was vulnerable as well).

NAME

Dancer::FileUtils - helper providing file utilities

SYNOPSIS

use Dancer::FileUtils qw/path read_file_content/;

my $content = read_file_content( path( 'folder', 'folder', 'file' ) );

DESCRIPTION

Dancer::FileUtils encompasses a few utilities that relate to files which Dancer uses. Developers may use it instead of writing their own little subroutines or use additional modules.

SUBROUTINES/METHODS

path

use Dancer::FileUtils 'path';

my $path = path( 'folder', 'folder', 'filename');

Provides comfortable path resolving, internally using File::Spec.

dirname

use Dancer::FileUtils 'dirname';

my $dir = dirname($path);

Exposes File::Basename's dirname, to allow fetching a directory name from a path.

read_file_content

use Dancer::FileUtils 'read_file_content';

my $content = read_file_content($file);

Returns either the content of a file (whose filename is the input) or undef in case it failed to open the file.

read_glob_content

use Dancer::FileUtils 'read_glob_content';

open my $fh, '<', $file or die "$!\n";
my $content = read_glob_content($fh);

Same as read_file_content, only it accepts a file handler.

Returns the content and closes the file handler.

EXPORT

Nothing by default. You can provide a list of subroutines to import.

AUTHOR

Alexis Sukrieh

LICENSE AND COPYRIGHT

Copyright 2009-2010 Alexis Sukrieh.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.