CVE-2026-73649

Source
https://cve.org/CVERecord?id=CVE-2026-73649
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-73649.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-73649
Aliases
Published
2026-08-13T18:05:31Z
Modified
2026-10-21T02:59:16Z
Severity
  • 9.8 (Critical) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
Velocity.js: Remote Code Execution via property-read to Function constructor (bypass of CVE-2026-44966 fix)
Details

Velocity.js is a JavaScript implementation of the Apache Velocity template engine. Prior to 2.1.7, the earlier fix for CVE-2026-44966 filtered constructor, proto, and prototype only in the #set assignment handler in src/compile/set.ts, while property-read expressions in src/compile/references.ts remained unfiltered. The getReferences() flow called getAttributes(), whose property access allowed an attacker-controlled template to traverse constructor.constructor to the JavaScript Function constructor. The #set handler validated only the assignment target and did not inspect the right-hand property-read expression, allowing arbitrary shell commands, environment-variable access, cloud-credential access, and internal-network access in the server process. This issue is fixed in version 2.1.7.

Database specific
{
    "cna_assigner":  "GitHub_M",
    "cwe_ids":  [
        "CWE-94"
    ],
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73649.json"
}
References

Affected packages

Git / github.com/shepherdwind/velocity.js

Affected ranges

Type
GIT
Repo
https://github.com/shepherdwind/velocity.js
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Fixed
Database specific
Show details
{
    "extracted_events":  [
        {
            "range":  [
                {
                    "introduced":  "0"
                },
                {
                    "fixed":  "2.1.7"
                }
            ],
            "source":  "AFFECTED_FIELD",
            "strategy":  "StringRangeExpression"
        },
        {
            "range":  [
                {
                    "fixed":  "f8e47a6c4607249b9c967d3a1ced959b4dd64dba"
                }
            ],
            "source":  "REFERENCES_COMMIT"
        },
        {
            "original_tag":  "v2.1.7",
            "range":  [
                {
                    "fixed":  "de81a8efae35da7e9b1b159597f5b3162e714329"
                }
            ],
            "source":  "REFERENCES_TAG"
        }
    ]
}

Affected versions

0.*
0.10.0
0.3.12
0.3.13
0.3.14
0.3.15
0.3.16
0.4.0
0.4.1
0.4.10
0.4.2
0.4.4
0.4.5
0.4.7
0.4.8
0.4.9
0.6.0
0.7.2
0.7.3
0.7.4
0.7.5
0.8.0
0.8.2
0.8.4
0.8.5
0.9.0
0.9.1
Other
list
v0.*
v0.10.1
v0.9.2
v0.9.3
v0.9.4
v0.9.5
v0.9.6
v1.*
v1.0.0
v1.0.1
v1.0.2
v1.1.0
v1.1.1
v1.1.2
v1.1.3
v1.1.5
v2.*
v2.0.1
v2.0.2
v2.0.3
v2.0.4
v2.0.5
v2.0.6
v2.1.0
v2.1.1
v2.1.2
v2.1.3
v2.1.4
v2.1.5
v2.1.6

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-73649.json"