Skip to content
Heist/ feed
Back to feed
Medium

WebDyne::Session versions before 3.003_704 for Perl generate the session id insecurely

Type: advisorySources: OSV

WebDyne::Session versions before 3.003_704 for Perl generate the session id insecurely. The session handler generates the session id from an MD5 hash seeded with a call to the built-in rand() function. The rand function is passed a maximum value based on the process id, the epoch time and the reference address of the object, but this information will have no effect on the overall quality of the seed of the message digest. The rand function is seeded by 32-bits and is predictable. It is considered unsuitable for cryptographic purposes. Predictable session ids could allow an attacker to gain access to systems. Note that WebDyne::Session versions 1.042 and earlier appear to be in separate distributions from WebDyne.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-5084
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 06:03 UTC · Revision 1

Source evidence

WebDyne::Session versions before 3.003_704 for Perl generate the session id insecurely

core-osv · Original source

Published 11 May 2026, 06:37 UTC

WebDyne::Session versions before 3.003_704 for Perl generate the session id insecurely. The session handler generates the session id from an MD5 hash seeded with a call to the built-in rand() function. The rand function is passed a maximum value based on the process id, the epoch time and the reference address of the object, but this information will have no effect on the overall quality of the seed of the message digest. The rand function is seeded by 32-bits and is predictable. It is considered unsuitable for cryptographic purposes. Predictable session ids could allow an attacker to gain access to systems. Note that WebDyne::Session versions 1.042 and earlier appear to be in separate distributions from WebDyne.

osv:CVE-2026-5084
Complete source record
{
  "id": "b6595faf67959f580de422d5b7f5e529c1a0517f1e8db391c9c166579629b209",
  "url": "https://osv.dev/vulnerability/CVE-2026-5084",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "WebDyne::Session versions before 3.003_704 for Perl generate the session id insecurely",
    "summary": "WebDyne::Session versions before 3.003_704 for Perl generate the session id insecurely. The session handler generates the session id from an MD5 hash seeded with a call to the built-in rand() function. The rand function is passed a maximum value based on the process id, the epoch time and the reference address of the object, but this information will have no effect on the overall quality of the seed of the message digest. The rand function is seeded by 32-bits and is predictable. It is considered unsuitable for cryptographic purposes. Predictable session ids could allow an attacker to gain access to systems. Note that WebDyne::Session versions 1.042 and earlier appear to be in separate distributions from WebDyne.",
    "evidence": "osv:CVE-2026-5084",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-5084",
      "aliases": [
        "CVE-2026-5084"
      ],
      "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/aspeer/webdyne",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "5d096181fd3e474424d4a5f084351c6d461bc2f6"
                },
                {
                  "fixed": "7a3f949dc24e62a276eb0db629db64aca356e954"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.003_704"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "fixed": "7a3f949dc24e62a276eb0db629db64aca356e954"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v2.75.0",
            "WebDyne_2.075",
            "pre-new-css",
            "v2.88.630",
            "WebDyne_2.088_630",
            "v2.87.619",
            "WebDyne_2.087_619",
            "v2.86.617",
            "WebDyne_2.086_617",
            "v2.85.614",
            "WebDyne_2.085_614",
            "v2.84.612",
            "WebDyne_2.084_612",
            "v2.83.610",
            "WebDyne_2.083_610",
            "v2.82.608",
            "WebDyne_2.082_608",
            "v2.81.606",
            "WebDyne_2.081_606",
            "v2.80.604",
            "WebDyne_2.080_604",
            "v2.79.601",
            "WebDyne_2.079_601",
            "v2.78.599",
            "WebDyne_2.078_599",
            "v2.77.597",
            "WebDyne_2.077_597",
            "v2.74.566",
            "WebDyne_2.074_566",
            "v2.73.0",
            "WebDyne_2.073",
            "v2.72.0",
            "WebDyne_2.072",
            "v2.71.0",
            "WebDyne_2.071",
            "v2.70.0",
            "WebDyne_2.070",
            "v2.69.0",
            "WebDyne_2.069",
            "v2.68.0",
            "WebDyne_2.068",
            "v2.67.0",
            "WebDyne_2.067",
            "v2.66.0",
            "WebDyne_2.066",
            "v2.65.0",
            "WebDyne_2.065",
            "v2.64.0",
            "WebDyne_2.064",
            "v2.63.0",
            "WebDyne_2.063",
            "v2.62.0",
            "WebDyne_2.062",
            "v2.61.523",
            "WebDyne_2.061_523",
            "v2.60.0",
            "WebDyne_2.060",
            "v2.59.0",
            "WebDyne_2.059",
            "v2.58.0",
            "WebDyne_2.058",
            "v2.57.0",
            "WebDyne_2.057",
            "v2.56.0",
            "WebDyne_2.056",
            "v2.55.0",
            "WebDyne_2.055",
            "v2.54.0",
            "WebDyne_2.054",
            "v2.53.0",
            "WebDyne_2.053",
            "v2.52.0",
            "WebDyne_2.052",
            "v2.51.0",
            "WebDyne_2.051",
            "v2.50.0",
            "WebDyne_2.050",
            "v2.49.0",
            "WebDyne_2.049",
            "v2.48.0",
            "WebDyne_2.048",
            "WebDyne_2.047",
            "WebDyne_2.046",
            "WebDyne_2.045",
            "WebDyne_2.044",
            "WebDyne_2.043",
            "WebDyne_2.042",
            "WebDyne_2.041",
            "WebDyne_2.040",
            "WebDyne_2.039",
            "WebDyne_2.038",
            "WebDyne_2.037",
            "WebDyne_2.036",
            "WebDyne_2.035",
            "WebDyne_2.034",
            "WebDyne_2.033",
            "WebDyne_2.032",
            "WebDyne_2.031",
            "WebDyne_2.030_410",
            "WebDyne_2.029",
            "WebDyne_2.028",
            "WebDyne_2.027",
            "WebDyne_2.026",
            "WebDyne_2.025",
            "WebDyne_2.024",
            "WebDyne_2.023",
            "WebDyne_2.022",
            "WebDyne_2.021",
            "WebDyne_2.020",
            "WebDyne_2.019",
            "WebDyne_2.018",
            "WebDyne_2.017",
            "WebDyne_2.016",
            "WebDyne_2.015",
            "WebDyne_2.014",
            "WebDyne_2.013_358",
            "WebDyne_2.012_265",
            "WebDyne_2.011_264",
            "WebDyne_2.010_262",
            "WebDyne_2.009_261",
            "WebDyne_2.008_256",
            "WebDyne_2.007_252",
            "WebDyne_2.006_249",
            "WebDyne_2.005_225",
            "WebDyne_2.004_224",
            "WebDyne_2.003_222",
            "WebDyne_2.002_58801625",
            "WebDyne_1.251",
            "WebDyne_1.250",
            "WebDyne_1.249",
            "WebDyne_1.248",
            "WebDyne_1.247",
            "WebDyne_1.246",
            "WebDyne_1.245",
            "WebDyne_1.244",
            "WebDyne_1.243",
            "WebDyne_1.242",
            "WebDyne_1.240",
            "WebDyne_1.239",
            "WebDyne_1.233",
            "WebDyne_1.232",
            "WebDyne_1.231",
            "WebDyne_1.230",
            "WebDyne_1.229",
            "WebDyne_1.228",
            "WebDyne_1.227",
            "WebDyne_1.225",
            "WebDyne_1.224",
            "WebDyne_1.223",
            "WebDyne_1.222",
            "WebDyne_1.221",
            "WebDyne_1.220",
            "WebDyne_1.219",
            "WebDyne_1.218",
            "WebDyne_1.217",
            "WebDyne_1.216",
            "WebDyne_1.215",
            "WebDyne_1.214",
            "WebDyne_1.209",
            "WebDyne_1.208",
            "WebDyne_1.207",
            "WebDyne_1.196",
            "WebDyne_1.195",
            "WebDyne_1.194",
            "WebDyne_1.193",
            "WebDyne_1.192",
            "WebDyne_1.190",
            "WebDyne_1.189",
            "WebDyne_1.188",
            "WebDyne_1.187",
            "WebDyne_1.186",
            "WebDyne_1.185",
            "WebDyne_1.184",
            "WebDyne_1.182",
            "WebDyne_1.164",
            "WebDyne_1.163",
            "WebDyne_1.162",
            "WebDyne_1.161",
            "WebDyne_1.160",
            "WebDyne_1.159",
            "WebDyne_1.158",
            "WebDyne_1.157",
            "WebDyne_1.156",
            "WebDyne_1.155",
            "WebDyne_1.154",
            "WebDyne_1.153",
            "WebDyne_1.152",
            "WebDyne_1.151",
            "WebDyne_1.150",
            "WebDyne_1.149",
            "WebDyne_1.148",
            "WebDyne_1.147",
            "WebDyne_1.146",
            "WebDyne_1.145",
            "WebDyne_1.144",
            "WebDyne_1.143",
            "WebDyne_1.142",
            "WebDyne_1.141",
            "WebDyne_1.140",
            "WebDyne_1.139",
            "WebDyne_1.138",
            "WebDyne_1.137",
            "WebDyne_1.135",
            "WebDyne_1.134",
            "WebDyne_1.133"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-5084.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:50.002049180Z",
      "provider": "osv",
      "references": [
        "https://cpan.org/modules",
        "https://metacpan.org/release/ASPEER/WebDyne-2.075/source/lib/WebDyne/Session.pm#L120",
        "https://webdyne.org",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/5xxx/CVE-2026-5084.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-5084",
        "https://github.com/aspeer/WebDyne/commit/7a3f949dc24e62a276eb0db629db64aca356e954.patch",
        "https://github.com/aspeer/WebDyne",
        "https://security.metacpan.org/docs/guides/random-data-for-security.html"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-338",
          "CWE-340"
        ],
        "cna_assigner": "CPANSec",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/5xxx/CVE-2026-5084.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-5084",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 518430,
  "published_at": "2026-05-11T06:37:19.384+00:00"
}