CVE-2026-78497

Status: Awaiting AnalysisUnscored—
Severity—Unscored
Exploitation probability0.17 %higher than 6% of CVEs
Active exploitationNonot in the CISA catalog
Public exploitNot knownno public code found

JQ::Lite versions before 2.51 for Perl execute Perl code embedded in a query's regular expression by compiling it with string eval.

The pattern given to test(), match(), or the match and =~ conditions of select() is placed in a `qr'...'` literal and compiled as source text, so a `(?{ ... })` code block in it runs without `use re 'eval'`. Single quotes in the pattern are escaped, but a code block runs in place and needs none.

An attacker who supplies a query, or text that an application inserts into the pattern of one, can execute arbitrary Perl code in the calling process.

CVSS

NVD hasn't assigned a CVSS score to this CVE (common since the April 2026 policy change).

Exploitation probability (EPSS)

Probability of exploitation in the next 30 days
0.17 %
Percentile among all scored CVEs
6
Score date
10/20/2026

EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).

Affected technologies (1)

⚠ AI-inferred from the description — NVD hasn't analyzed this CVE yet, these aren't verified CPEs.

CWEs

References

Show 3 references

Raw JSON (NVD)

Show
{
  "id": "CVE-2026-78497",
  "cveTags": [],
  "metrics": {},
  "affected": [
    {
      "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
      "affectedData": [
        {
          "repo": "https://github.com/kawamurashingo/JQ-Lite",
          "modules": [
            "JQ::Lite"
          ],
          "versions": [
            {
              "status": "affected",
              "version": "0",
              "lessThan": "2.51",
              "versionType": "custom"
            }
          ],
          "packageURL": "pkg:cpan/JQ-Lite",
          "packageName": "JQ-Lite",
          "programFiles": [
            "lib/JQ/Lite/Util/Transform.pm"
          ],
          "collectionURL": "https://cpan.org/modules",
          "defaultStatus": "unaffected",
          "programRoutines": [
            {
              "name": "JQ::Lite::Util::_build_regex"
            }
          ]
        }
      ]
    }
  ],
  "published": "2026-10-18T12:17:15.350",
  "references": [
    {
      "url": "https://github.com/kawamurashingo/JQ-Lite/commit/c461721ae3d5a90d6d94dbb234c1b8dfee5c1769.patch",
      "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e"
    },
    {
      "url": "https://metacpan.org/release/SHINGO/JQ-Lite-2.51/changes",
      "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e"
    },
    {
      "url": "http://www.openwall.com/lists/oss-security/2026/10/18/3",
      "source": "af854a3a-2127-422b-91ae-364da2661108"
    }
  ],
  "vulnStatus": "Awaiting Analysis",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
      "description": [
        {
          "lang": "en",
          "value": "CWE-95"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "JQ::Lite versions before 2.51 for Perl execute Perl code embedded in a query's regular expression by compiling it with string eval.\n\nThe pattern given to test(), match(), or the match and =~ conditions of select() is placed in a `qr'...'` literal and compiled as source text, so a `(?{ ... })` code block in it runs without `use re 'eval'`. Single quotes in the pattern are escaped, but a code block runs in place and needs none.\n\nAn attacker who supplies a query, or text that an application inserts into the pattern of one, can execute arbitrary Perl code in the calling process."
    }
  ],
  "lastModified": "2026-10-19T20:50:17.967",
  "sourceIdentifier": "9b29abf9-4ab0-4765-b253-1875cd9b441e"
}