# CVE-2026-85491: Catalyst::Seal authorization bypass via dispatch memoization

Source: https://junglewise.ai/threats/cve-2026-85491-catalyst-seal-versions-before-0-03-for-perl-allow-one-request-to  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-24. Updated: 2026-09-26  
License: CC BY 4.0 with a link back

CVE-2026-85491 · Severity: high · CVSS 8.8 · Published 2026-09-24

Catalyst::Seal is a Perl module that caches how web requests are routed to application actions. A flaw in the caching mechanism allows an attacker to bypass authorization checks by crafting requests that poison the cache, causing later legitimate requests to be routed to the wrong action or fail entirely. This could allow unauthorized access to protected functionality or cause denial of service.

Vendors: [Perl CPAN](https://junglewise.ai/threats/vendors/perl-cpan).

## Quick answers

**Is CVE-2026-85491 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-85491 being exploited in the wild.

**How severe is CVE-2026-85491?** High severity, with a CVSS score of 8.8, published 24 September 2026.

**Which products and versions are affected?** Perl CPAN Catalyst::Seal before 0.03.

**Is there a fix for CVE-2026-85491?** No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.

**How is CVE-2026-85491 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-85491?** Check whether you run Perl CPAN Catalyst::Seal at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The module memoizes dispatcher decisions based on the request path alone, ignoring HTTP method, content type, scheme, and query parameters. An attacker can craft a GET request to a POST-only action to create a cache entry that returns no action; replaying that path disables it permanently. Alternatively, where actions nest at different URL levels, a GET can cache a shallow route that causes a later POST to be dispatched to the wrong action, bypassing authorization checks at deeper levels.

## Affected products

- Perl CPAN Catalyst::Seal before 0.03

## Timeline

- 2026-09-24: disclosed
