CVE-2015-10149: Dancer versions before 1.3400 for Perl pass unvalidated session ids from the session cookie to the session engine
Robert Rothenberg 14 Nov 2026 20:13 UTC
========================================================================
CVE-2015-10149 CPAN Security Group
========================================================================
CVE ID: CVE-2015-10149
Distribution: Dancer
Versions: before 1.3400
MetaCPAN: https://metacpan.org/dist/Dancer
VCS Repo: https://github.com/PerlDancer/Dancer
Dancer versions before 1.3400 for Perl pass unvalidated session ids
from the session cookie to the session engine
Description
-----------
Dancer versions before 1.3400 for Perl pass unvalidated session ids
from the session cookie to the session engine.
read_session_id returns the cookie value as the session id without
checking its characters, and Dancer hands it to the session engine to
load the session.
A remote attacker may cause path traversal or injection in a session
engine that uses the id in a file path, cache command or query without
checking it.
Problem types
-------------
- CWE-1286 Improper Validation of Syntactic Correctness of Input
Solutions
---------
Upgrade to Dancer 1.3400 or later.
References
----------
https://github.com/PerlDancer/Dancer/commit/5a68fddbaef903fd3bd58517ce585cde986716e4.patch
https://github.com/PerlDancer/Dancer/issues/1117
https://github.com/PerlDancer/Dancer/issues/1118
https://github.com/PerlDancer/Dancer/pull/1172
https://metacpan.org/release/BIGPRESH/Dancer-1.3400/changes
Timeline
--------
- 2015-06-03: Session id validation vulnerability first reported in
issue 1117.
- 2016-02-15: Dancer version 1.3300 adds session id validation.
- 2016-02-16: Dancer version 1.3301 reverts session id changes that
broke Dancer::Session::Cookie.
- 2018-02-04: Pull request 1172 with session id validation created,
- 2018-05-20: Dancer version 1.3203 released with session id
validation.
- 2018-06-15: Dancer version 1.3400 released that promotes previous
trial releases to stable release.