GLSA Bodhisattva
Joined: 23 Sep 2003 Posts: 7221 Location: Sat in front of my computer
|
Posted: Thu Dec 08, 2005 12:28 pm Post subject: [ GLSA 200512-01 ] Perl: Format string errors can lead to co |
|
|
Gentoo Linux Security Advisory
Title: Perl: Format string errors can lead to code execution (GLSA 200512-01)
Severity: high
Exploitable: remote and local
Date: December 07, 2005
Bug(s): #114113
ID: 200512-01
Synopsis
A fix is available for Perl to mitigate the effects of format string programming errors, that could otherwise be exploited to execute arbitrary code.
Background
Perl is a stable, cross-platform programming language created by Larry Wall. It contains printf functions that allows construction of strings from format specifiers and parameters, like the C printf functions. A well-known class of vulnerabilities, called format string errors, result of the improper use of the printf functions in C. Perl in itself is vulnerable to a limited form of format string errors through its own sprintf function, especially through wrapper functions that call sprintf (for example the syslog function) and by taking advantage of Perl powerful string expansion features rather than using format string specifiers.
Affected Packages
Package: dev-lang/perl
Vulnerable: < 5.8.7-r3
Unaffected: >= 5.8.7-r3
Unaffected: >= 5.8.6-r8 < 5.8.7
Architectures: All supported architectures
Description
Jack Louis discovered a new way to exploit format string errors in Perl that could lead to the execution of arbitrary code. This is perfomed by causing an integer wrap overflow in the efix variable inside the function Perl_sv_vcatpvfn. The proposed fix closes that specific exploitation vector to mitigate the risk of format string programming errors in Perl. This fix does not remove the need to fix such errors in Perl code.
Impact
Perl applications making improper use of printf functions (or derived functions) using untrusted data may be vulnerable to the already-known forms of Perl format string exploits and also to the execution of arbitrary code.
Workaround
Fix all misbehaving Perl applications so that they make proper use of the printf and derived Perl functions.
Resolution
All Perl users should upgrade to the latest version: Code: | # emerge --sync
# emerge --ask --oneshot --verbose dev-lang/perl |
References
CVE-2005-3962
Dyad Security Advisory
Research on format string errors in Perl
Last edited by GLSA on Sat Oct 25, 2008 4:18 am; edited 5 times in total |
|