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::Handler::AutoPage - Class for handling the AutoPage feature

VERSION

version 2.1.0

DESCRIPTION

The AutoPage feature is a Handler (turned off by default) that is responsible for serving pages that match an existing template. If a view exists with a name that matches the requested path, Dancer2 processes the request using the Autopage handler.

To turn it add to your config file:

auto_page: 1

This allows you to easily serve simple pages without having to write a route definition for them.

If there's no view with the name request, the route passes, allowing other matching routes to be dispatched.

METHODS

register

Creates the routes.

code

A code reference that processes the route request.

methods

The methods that should be served for autopages.

Default: head, get.

regexp

The regexp (path) we want to match.

Default: /:page.

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.