Security Advisories (1)
CVE-2025-40925 (2025-09-20)

Starch versions 0.14 and earlier generate session ids insecurely. The default session id generator returns a SHA-1 hash seeded with a counter, the epoch time, the built-in rand function, the PID, and internal Perl reference addresses. 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.

Changes for version 0.14 - 2019-05-13

  • Avoid CPANTS Kwalitee check for Test2::V0.
  • Switch to the GNU General Public License version 3.
  • Stop using Test2::Require::Module in Test::Starch.

Documentation

Starch recipes for common situations.
How to alter the behavior of Starch.

Modules

A framework independent HTTP session library.
Role applicator and class creator.
Entry point for accessing Starch state objects.
Always retrieve state data.
Base role for Starch plugin bundles.
Arguments and methods for dealing with HTTP cookies.
Disable store read and/or write operations.
Base role for Starch plugins.
Base role for Starch::State plugins.
Base role for Starch::Store plugins.
Turn Starch store exceptions into log messages.
Trigger periodic writes to the store.
Throttle misbehaving Starch stores.
Add extra trace logging to your manager, states, and stores.
Logging capabilities used internally by Starch.
The Starch state object.
Base role for Starch stores.
Layer multiple Starch stores.
In-memory Starch store.
Utility functions used internally by Starch.
Test core features of starch.

Provides

in lib/Starch/Plugin/CookieArgs/Manager.pm
in lib/Starch/Plugin/CookieArgs/State.pm
in lib/Starch/Plugin/RenewExpiration/Manager.pm
in lib/Starch/Plugin/RenewExpiration/State.pm
in lib/Starch/Plugin/Trace/Manager.pm
in lib/Starch/Plugin/Trace/State.pm
in lib/Starch/Plugin/Trace/Store.pm