Skip to content
Heist/ feed
Back to feed
Medium

Catalyst::Plugin::Session before version 0.44 for Perl generates session ids insecurely

Type: advisorySources: OSV

Catalyst::Plugin::Session before version 0.44 for Perl generates session ids insecurely. The session id is generated from a (usually SHA-1) hash of a simple counter, the epoch time, the built-in rand function, the PID and the current Catalyst context. This information is of low entropy. 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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-40924
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 21:00 UTC · Revision 1

Source evidence

Catalyst::Plugin::Session before version 0.44 for Perl generates session ids insecurely

core-osv · Original source

Published 17 Jul 2025, 13:33 UTC

Catalyst::Plugin::Session before version 0.44 for Perl generates session ids insecurely. The session id is generated from a (usually SHA-1) hash of a simple counter, the epoch time, the built-in rand function, the PID and the current Catalyst context. This information is of low entropy. 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.

osv:CVE-2025-40924
Complete source record
{
  "id": "4333c1b011065d3aef6bc13c026c5700003e6861bcc6fc5ec098e314560ede73",
  "url": "https://osv.dev/vulnerability/CVE-2025-40924",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Catalyst::Plugin::Session before version 0.44 for Perl generates session ids insecurely",
    "summary": "Catalyst::Plugin::Session before version 0.44 for Perl generates session ids insecurely. The session id is generated from a (usually SHA-1) hash of a simple counter, the epoch time, the built-in rand function, the PID and the current Catalyst context. This information is of low entropy. 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.",
    "evidence": "osv:CVE-2025-40924",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2025-40924",
      "aliases": [
        "CVE-2025-40924"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/perl-catalyst/catalyst-plugin-session",
              "type": "GIT",
              "events": [
                {
                  "introduced": "36316211769ad9af45176c6eb59f4cc68ae5ee2d"
                },
                {
                  "fixed": "263d0fb88083959c821ef95fe8ab89f49b9c8532"
                },
                {
                  "fixed": "c0e2b4ab1e42ebce1008286db8c571b6ee98c22c"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0.01"
                      },
                      {
                        "fixed": "0.44"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "fixed": "c0e2b4ab1e42ebce1008286db8c571b6ee98c22c"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v0.43",
            "v0.42",
            "0.41",
            "0.40",
            "0.36",
            "0.35",
            "v0.34",
            "v0.32",
            "v0.31",
            "v0.30",
            "v0.29",
            "v0.28",
            "v0.27",
            "v0.26_01",
            "v0.26",
            "v0.25",
            "v0.24",
            "v0.23",
            "v0.22",
            "v0.21",
            "v0.20",
            "v0.19_01",
            "v0.19",
            "v0.18",
            "v0.17",
            "v0.16",
            "v0.15",
            "v0.13",
            "v0.12",
            "v0.11",
            "v0.09",
            "v0.06",
            "v0.05",
            "v0.04",
            "v0.03",
            "v0.02",
            "v0.01"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-40924.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:23.749196123Z",
      "provider": "osv",
      "references": [
        "https://cpan.org/modules",
        "https://metacpan.org/release/HAARG/Catalyst-Plugin-Session-0.43/source/lib/Catalyst/Plugin/Session.pm#L632",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/40xxx/CVE-2025-40924.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-40924",
        "https://github.com/perl-catalyst/Catalyst-Plugin-Session/pull/5",
        "https://github.com/perl-catalyst/Catalyst-Plugin-Session/commit/c0e2b4ab1e42ebce1008286db8c571b6ee98c22c.patch",
        "https://github.com/perl-catalyst/Catalyst-Plugin-Session"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-338",
          "CWE-340"
        ],
        "cna_assigner": "CPANSec",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/40xxx/CVE-2025-40924.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-40924",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 490039,
  "published_at": "2025-07-17T13:33:43.739+00:00"
}