Security Advisories (1)
CVE-2026-13577 (2026-07-20)

Dancer2 versions through 2.1.0 for Perl generate insecure session ids when CSPRNG modules are unavailable. Dancer2::Core::Role::SessionFactory::generate_id silently falls back to a built-in rand-derived session id when both Math::Random::ISAAC::XS and Crypt::URandom are unavailable. The fallback session id is generated from a SHA-1 hash of a call to the built-in rand function, the absolute path of the Dancer2::Core::Role::SessionFactory module, an internal counter, the process id, the module instance memory address, and a shuffled string of characters (using the List::Util::shuffle function, which also uses the built-in rand function). These are all low-entropy and easily guessed sources. The built-in rand() function is seeded with 32-bits and considered unsuitable for security applications. Predictable session ids could allow an attacker to gain access to systems.

NAME

Dancer2::Core::MIME - Class to ease manipulation of MIME types

VERSION

version 2.1.0

SYNOPSIS

use Dancer2::Core::MIME;

my $mime = Dancer2::Core::MIME->new();

# get mime type for an alias
my $type = $mime->for_name('css');

# set a new mime type
my $type = $mime->add_type( foo => 'text/foo' );

# set a mime type alias
my $alias = $mime->add_alias( f => 'foo' );

# get mime type for a file (based on extension)
my $file = $mime->for_file( "foo.bar" );

# set the $thing into a content $type.
my $type = $mime->name_or_type($thing);

# get current defined default mime type
my $type = $mime->default;

# set the default mime type using config.yml
# or using the set keyword
set default_mime_type => 'text/plain';

DESCRIPTION

Dancer2::Core::MIME is a thin wrapper around MIME::Types providing helpful methods for MIME handling.

ATTRIBUTES

custom_types

Custom user-defined MIME types that are added the with add_type.

default

Default MIME type defined by MIME::Types, set to: application/data.

METHODS

reset_default

Deprecated, use reset_to_default.

reset_to_default

This method resets mime_type to the default type.

add_type

This method adds the new MIME type.

add_alias

The add_alias sets a MIME type alias.

for_name

The method for_name gets MIME type for an alias.

for_file

This method gets MIME type for a file based on extension.

name_or_type

This method sets the customized MIME name or default MIME type into a content type.

AUTHOR

Dancer Core Developers

COPYRIGHT AND LICENSE

This software is copyright (c) 2026 by Alexis Sukrieh.

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