Hi,

CVE-2025-26619 is marked at fixed in version 5.31.0 and Debian/sid has 5.33.1. However I checked the code and CVE-2025-26619 is actually fixed in vega 5.33.1, though through a different approach than the original patch (commit 8fc129a).

The original fix in 5.31.0 removed function support entirely from getScale() in packages/vega-functions/src/scales.js, accepting only strings.

Between 5.31 and 5.33, the code was refactored to accept functions again, but with a guard using isRegisteredScale(). This function checks for a private Symbol('vega_scale') property that is only set internally by the scale registration mechanism (create() in packages/vega-scale/src/scales.js). Since JavaScript Symbols are not accessible from the Vega expression language, an attacker cannot forge a function that passes this check — any arbitrary function passed via the expression language will return undefined from getScale().

So while the code path looks superficially similar to the vulnerable version (it still accepts functions), the Symbol-based guard provides equivalent security to the original fix.

Best regards,
Xavier

Reply via email to