Catalyst::Plugin::Static::Simple versions through 0.38 for Perl mark responses as publicly cacheable
Summary
| CVE | CVE-2026-15743 |
|---|---|
| State | PUBLISHED |
| Assigner | CPANSec |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-08-20 19:16:48 UTC |
| Updated | 2026-10-19 19:17:29 UTC |
| Description | Catalyst::Plugin::Static::Simple versions through 0.38 for Perl mark responses as publicly cacheable. The _serve_static method always sets the Cache-Control header to "public", with no means of overriding it. This advises proxies that the content may be stored in a shared cache, and may be reused in responses to requests from other users. (This includes requests with an Authorization header.) Configuring the expires time to "0" to disable caching, as documented, is ignored. |
Risk And Classification
Primary CVSS: v3.1 5.7 MEDIUM from ADP
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N
EPSS: 0.003220000 probability, percentile 0.237960000 (date 2026-10-19)
Problem Types: CWE-524 | CWE-524 CWE-524 Use of Cache Containing Sensitive Information
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 3.1 | ADP | DECLARED | 5.7 | MEDIUM | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N |
| 3.1 | 134c704f-9b21-4f2e-91b3-4a467353bcc0 | Secondary | 5.7 | MEDIUM | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N |
CVSS v3.1 Breakdown
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| security.metacpan.org/patches/C/Catalyst-Plugin-Static-Simple/0.38/CVE-2026-15743-r... | 9b29abf9-4ab0-4765-b253-1875cd9b441e | security.metacpan.org | |
| www.openwall.com/lists/oss-security/2026/08/20/18 | af854a3a-2127-422b-91ae-364da2661108 | www.openwall.com | |
| datatracker.ietf.org/doc/html/rfc9111 | 9b29abf9-4ab0-4765-b253-1875cd9b441e | datatracker.ietf.org | |
| github.com/perl-catalyst/Catalyst-Plugin-Static-Simple/pull/3 | 9b29abf9-4ab0-4765-b253-1875cd9b441e | github.com | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
Additional Advisory Data
Workarounds
CNA: Apply the patch, and configure the default Cache-Control as needed. For deployments that cannot apply the patch, a method modifier of _serve_static in the Catalyst class can be used to override the Cache-Control or Expires headers as needed, for example: around _serve_static => sub { my ( $next, $c, $path, $cache_control ) = @_; $c->$next($path); my $config = $c->config->{'Plugin::Static::Simple'}; $cache_control ||= $config->{cache_control} || "public"; if ( defined $config->{expires} ) { if ( $config->{expires} <= 0 ) { $cache_control = 'no-store'; $c->res->headers->expires(0); } else { $c->res->headers->expires( time() + $config->{expires} ); } } $c->res->headers->header( 'Cache-Control' => $cache_control ); return 1; };