Apache Portable Runtime, APR Utility Library: Execution of arbitrary code — GLSA 200909-03

Multiple integer overflows in the Apache Portable Runtime and its Utility Library might allow for the remote execution of arbitrary code.

Affected packages

dev-libs/apr on all architectures
Affected versions < 1.3.8
Unaffected versions >= 1.3.8
dev-libs/apr-util on all architectures
Affected versions < 1.3.9
Unaffected versions >= 1.3.9


The Apache Portable Runtime (aka APR) provides a set of APIs for creating platform-independent applications. The Apache Portable Runtime Utility Library (aka APR-Util) provides an interface to functionality such as XML parsing, string matching and databases connections.


Matt Lewis reported multiple Integer overflows in the apr_rmm_malloc(), apr_rmm_calloc(), and apr_rmm_realloc() functions in misc/apr_rmm.c of APR-Util and in memory/unix/apr_pools.c of APR, both occurring when aligning memory blocks.


A remote attacker could entice a user to connect to a malicious server with software that uses the APR or act as a malicious client to a server that uses the APR (such as Subversion or Apache servers), possibly resulting in the execution of arbitrary code with the privileges of the user running the application.


There is no known workaround at this time.


All Apache Portable Runtime users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=dev-libs/apr-1.3.8"

All APR Utility Library users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=dev-libs/apr-util-1.3.9"


Release date
September 09, 2009

Latest revision
September 09, 2009: 01



Bugzilla entries