VULNERABILIDAD
CVE-2026-107373 Lectura de longitud SV antes de convertir a string en ExtUtils::Typemaps::STL::String
ExtUtils::Typemaps::STL::String antes de 1.06 para Perl, en el typemap T_STD_STRING, puede leer la longitud del SV antes de convertir el argumento a string. El orden de evaluación de argumentos en C++ no está especificado y algunos compiladores pueden evaluar SvCUR($arg) primero; si $arg no es un string (por ejemplo, un entero, número o referencia), SvCUR devuelve un valor inválido y el programa puede abortar o sufrir un segfault.
Alerta de Nureq Monitor
Detectada 10 OCT · 12:46
CVSS 3.1
9.1CRÍTICAPROBABILIDAD DE EXPLOTACIÓN (EPSS)
0,4 % PERCENTIL 33
EXPLOTACIÓN ACTIVA
No confirmada
EXPLOIT PÚBLICO
No conocido
Qué es CVE-2026-107373
ExtUtils::Typemaps::STL::String antes de 1.06 para Perl, en el typemap T_STD_STRING, puede leer la longitud del SV antes de convertir el argumento a string. El orden de evaluación de argumentos en C++ no está especificado y algunos compiladores pueden evaluar SvCUR($arg) primero; si $arg no es un string (por ejemplo, un entero, número o referencia), SvCUR devuelve un valor inválido y el programa puede abortar o sufrir un segfault.
Qué hacer
- Verificá si usás el producto afectado.
- Actualizá a la versión corregida que indique el fabricante en su aviso (ver referencias) o aplicá la mitigación que publique.
- Revisá registros y accesos de los sistemas expuestos para descartar que se haya aprovechado antes de corregir.
Calculadora CVSS
CVSS 3.1 · 9.1 CRÍTICA
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
- VECTOR DE ATAQUE (AV)
- Red
- COMPLEJIDAD DEL ATAQUE (AC)
- Baja
- PRIVILEGIOS REQUERIDOS (PR)
- Ninguno
- INTERACCIÓN DEL USUARIO (UI)
- Ninguna
- ALCANCE (S)
- Sin cambio
- CONFIDENCIALIDAD (C)
- Alta
- INTEGRIDAD (I)
- Ninguna
- DISPONIBILIDAD (A)
- Alta
Abrir la calculadora completa →
Descripción original
ExtUtils::Typemaps::STL::String versions before 1.06 for Perl T_STD_STRING typemap may read the SV length before stringifying the argument.
The typemap uses
$var = std::string( SvPV_nolen($arg), SvCUR($arg) )
However, evaluation order for C++ arguments is not specified, and some compilers may produce code that evalutes SvCUR($arg) first.
When $arg is not a string (for example, an interger, number or a reference) then SvCUR will return an invalid value, and the program may abort or segfault.
Referencias
- metacpan.org/release/SMUELLER/ExtUtils-Typemaps-Default-1.06/changesRELEASE-NOTES
- github.com/tsee/extutils-typemap-default/commit/a6b9c298b34ddadc582961403e715d292f82a22d
- rt.cpan.org/Public/Bug/Display.html?id=94110ISSUE-TRACKING
- www.cve.org/CVERecord?id=CVE-2026-80490RELATED
Historial de la alerta
- VULNERABILIDAD Nueva vulnerabilidad detectada.
CÓMO SE HIZOResumen traducido automáticamente al español a partir de la descripción original. Ante dudas, la descripción original y las referencias del fabricante son la fuente de verdad. Cómo funciona.