|The Vigil@nce team watches public vulnerabilities impacting your computers, and then offers security solutions, a database and tools to fix them.|
Perl: memory corruption via the x operator
Synthesis of the vulnerability
When an attacker can modify parameters of the "x" operator of a Perl program, he can obtain a memory fragment, stop the application, or possibly execute code.
Impacted products: Debian, BIG-IP Appliance, MBS, MES, Mandriva Linux, Solaris, Perl Core, RHEL.
Creation date: 26/10/2012.
Identifiers: BID-56287, CERTA-2013-AVI-387, CERTA-2013-AVI-543, CERTA-2013-AVI-590, CERTA-2013-AVI-593, CERTFR-2014-AVI-112, CERTFR-2014-AVI-244, CVE-2012-5195, DSA-2586-1, MDVSA-2013:005, MDVSA-2013:113, NDSA20121025, RHSA-2013:0685-01, SOL15867, VIGILANCE-VUL-12094.
Description of the vulnerability
The "x" operator of Perl multiplies a text string (by successive duplications). For example:
produces the string:
The Perl_pp_repeat() function of the pp.c file implements the "x" operator. However, if the requested multiplier is superior to 2G (with a one byte string), the memset() function can copy too many data. Depending on the context, this error corrupts the memory, or returns an uninitialized memory block to the user.
When an attacker can modify parameters of the "x" operator of a Perl program, he can therefore obtain a memory fragment, stop the application, or possibly execute code.
Complete Vigil@nce bulletin.... (free trial)
Computer vulnerabilities tracking service
Vigil@nce provides computers vulnerabilities alerts. The Vigil@nce security watch publishes vulnerability bulletins about threats impacting the information system. The Vigil@nce team tracks computer vulnerabilities impacting systems and applications. The technology watch team tracks security threats targeting the computer system.