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.
Published: 2026-08-20
Score: 5.7 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Analysis and contextual insights are available on OpenCVE Cloud.

Remediation

Vendor Workaround

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; };

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 28 Aug 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 5.7, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 21 Aug 2026 13:30:00 +0000

Type Values Removed Values Added
First Time appeared Perl-catalyst
Perl-catalyst catalyst Plugin Static Simple
Vendors & Products Perl-catalyst
Perl-catalyst catalyst Plugin Static Simple

Thu, 20 Aug 2026 23:30:00 +0000

Type Values Removed Values Added
References

Thu, 20 Aug 2026 18:30:00 +0000

Type Values Removed Values Added
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.
Title Catalyst::Plugin::Static::Simple versions through 0.38 for Perl mark responses as publicly cacheable
Weaknesses CWE-524
References

Subscriptions

Perl-catalyst Catalyst Plugin Static Simple
cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-08-28T15:07:16.802Z

Reserved: 2026-07-14T14:24:29.805Z

Link: CVE-2026-15743

cve-icon Vulnrichment

Updated: 2026-08-20T23:07:17.920Z

cve-icon NVD

Status : Deferred

Published: 2026-08-20T19:16:48.700

Modified: 2026-08-28T16:17:07.540

Link: CVE-2026-15743

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-28T19:30:16Z

Weaknesses