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.

NAME

Starch::Plugin::LogStoreExceptions - Turn Starch store exceptions into log messages.

SYNOPSIS

my $starch = Starch->new(
    plugins => ['::LogStoreExceptions'],
    ...,
);

DESCRIPTION

This plugin causes any exceptions thrown when set, get, or remove is called on a store to produce an error log message instead of an exception.

Typically you'll want to use this in production, as the state store being down is often not enough of a reason to produce 500 errors on every page.

This plugin should be listed last in the plugin list so that it catches exceptions produced by other plugins.

SUPPORT

See "SUPPORT" in Starch.

AUTHORS

See "AUTHORS" in Starch.

COPYRIGHT AND LICENSE

See "COPYRIGHT AND LICENSE" in Starch.