scipy is vulnerable to Memory Corruption
55
Medium Risk
SciPy 1.18.1 fixes several native memory-safety defects in C extension code. In _fitpackmodule.c, fitpack_sphere Py_XDECREFs borrowed ap_tt/ap_tp references on the error path when iopt == -1, fitpack_surfit can free wrk1/wrk2/iwrk twice if a later PyArray_SimpleNew fails, and fitpack_parcur double-DECREFs ap_t after the Fortran call if result allocation fails, causing use-after-free or double-free in SmoothSphereBivariateSpline, bisplrep, and splprep. DVODE/ZVODE callback thunks in _dzvodemodule.c pass an unchecked PyTuple_New result to PyTuple_SET_ITEM, so an allocation failure during scipy.integrate.ode segfaults. scipy.signal.remez writes past the end of the extremal-frequency arrays when a band is narrower than the dense grid. The patch INCREFs borrowed FITPACK references at assignment, NULLs freed work buffers, guards NULL tuples, and rejects too-narrow remez bands with ValueError.
You are affected if you are using a version that falls within the vulnerable range and you use FITPACK interpolators (SmoothSphereBivariateSpline, bisplrep, or splprep), scipy.integrate.ode with the DVODE or ZVODE methods, or scipy.signal.remez with degenerate or attacker-controlled band edges.
scipy is vulnerable to Memory Corruption in versions 0.0.1 - 1.18.0.
Upgrade the scipy library to the patch version.
Connect your repositories to instantly see whether vulnerable or malicious packages exist in your codebase.
Free. No credit card required.

I consent to receiving marketing communications based on Aikido’s Privacy Policy.
SOC 2Compliant
ISO 27001Compliant
ISO 42001Compliant© All Intel data is openly available and commercially licensed.