CVE-2026-85644 XS::Parse::Infix versions from 0.40 through 0.49 for Perl treat a number as an array reference

High 7.5 Published Updated

Attacker-controlled numeric input in Perl infix operations triggers memory corruption, potentially allowing code execution or crashes.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-85644?

CVE-2026-85644 is a high-severity memory corruption vulnerability in perl-XS-Parse-Keyword, published on 28 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

XS::Parse::Infix versions from 0.40 through 0.49 for Perl treat a number as an array reference.

The wrapper function XS::Parse::Infix generates for a list-associative infix operator checks whether arguments are array references, but it tests using SvRV() rather than SvROK(). SvRV() reads a union slot that only holds a referent once SvROK(sv) is true, so the guard never validates that it is a reference. For an IV or NV that slot holds the number itself, SvRV() returns the caller's value and SvTYPE() dereferences it at offset 12. This will generally result in a segmentation fault.

An application that hands the wrapper a list built from decoded input (for example, from JSON) lets whoever supplies a number in that list choose the address that the interpreter dereferences.

An ordinary string's byte 12 is rarely SVt_PVAV so the guard croaks by luck, but an attacker-crafted string carrying 0x0b there passes, and the buffer is then used as an AV head, with AvARRAY taken from bytes 16-23 and its entries pushed onto the Perl stack as live SVs.

A simple proof-of-concept uses the zip operator:

use Syntax::Operator::Zip 'zip';

my @args = ([1], 2); zip(@args);

Weakness: CWE-843, CWE-125

Which versions are affected by CVE-2026-85644?

Linux distribution packages (4)
perl-XS-Parse-Keyword SUSE:Linux Enterprise Server 16.0All versions0.480.0-160000.3.1
perl-XS-Parse-Keyword SUSE:Linux Enterprise Server for SAP applications 16.0All versions0.480.0-160000.3.1
perl-XS-Parse-Keyword openSUSE:Leap 16.0All versions0.480.0-160000.3.1
perl-XS-Parse-Keyword openSUSE:TumbleweedAll versions0.500.0-1.1

How do I fix CVE-2026-85644?

Upgrade to a fixed version.

Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.

Is CVE-2026-85644 being exploited?

There is no known exploitation of CVE-2026-85644 in the wild and no public exploit code.

Sources

Also known as DEBIAN-CVE-2026-85644, GHSA-ch9g-92vf-wwhv, MGASA-2026-0513, SUSE-SU-2026:24244-1, UBUNTU-CVE-2026-85644, USN-8940-1 and 2 more.

Is CVE-2026-85644 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free