CVE-2009-0040: Code Injection

Published Feb 22, 2009
·
Updated

The PNG reference library (aka libpng) before 1.0.43, and 1.2.x before 1.2.35, as used in pngcrush and other applications, allows context-dependent attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted PNG file that triggers a free of an uninitialized pointer in (1) the pngreadpng function, (2) pCAL chunk handling, or (3) setup of 16-bit gamma tables.

Affected Software

347 affected components
libpng LIBPNG=1.2.19-beta6
libpng LIBPNG=1.2.19-beta24
libpng LIBPNG=1.0.37
libpng LIBPNG=1.2.19-beta29
libpng LIBPNG=1.2.14
libpng LIBPNG=1.2.19-beta14
libpng LIBPNG=1.2.20-rc6
libpng LIBPNG=1.2.26-beta02
libpng LIBPNG=1.2.19-beta33
libpng LIBPNG=1.2.19-rc2
libpng LIBPNG=1.2.33
libpng LIBPNG=1.2.17-rc2
libpng LIBPNG=1.2.11-beta3
libpng LIBPNG=1.0.6-e
libpng LIBPNG=1.0.23-rc3
libpng LIBPNG=1.0.41
libpng LIBPNG=1.2.16
libpng LIBPNG=1.0.9-beta1
libpng LIBPNG=1.0.15-rc1
libpng LIBPNG=1.2.0-beta4
libpng LIBPNG=1.0.10-beta1
libpng LIBPNG=1.2.10-beta3
libpng LIBPNG=1.0.7-beta13
libpng LIBPNG=1.0.9-beta8
libpng LIBPNG=1.2.8-rc5
libpng LIBPNG=1.2.29
libpng LIBPNG=1.0.17-rc1
libpng LIBPNG=1.2.8-beta1
libpng LIBPNG=1.0.29-rc3
libpng LIBPNG=1.2.26
libpng LIBPNG=1.2.1-rc1
libpng LIBPNG=1.2.19-beta32
libpng LIBPNG=1.2.20-rc5
libpng LIBPNG=1.0.27-rc5
libpng LIBPNG=1.0.6-a
libpng LIBPNG=1.2.7
libpng LIBPNG=1.2.15-rc1
libpng LIBPNG=1.2.16-beta1
libpng LIBPNG=1.2.5-beta3
libpng LIBPNG=1.0.6-d
libpng LIBPNG=1.2.19-beta11
libpng LIBPNG=1.2.0-beta5
libpng LIBPNG=1.2.22-beta4
libpng LIBPNG=1.0.7-beta15
libpng LIBPNG=1.2.5-rc1
libpng LIBPNG=1.2.26-beta04
libpng LIBPNG=1.2.2-rc1
libpng LIBPNG=1.2.19-beta7
libpng LIBPNG=1.2.19-beta12
libpng LIBPNG=1.2.2
libpng LIBPNG=1.2.25-beta04
libpng LIBPNG=1.2.8-beta3
libpng LIBPNG=1.0.1
libpng LIBPNG=1.2.20-rc2
libpng LIBPNG=1.2.19-beta22
libpng LIBPNG=1.2.5-beta2
libpng LIBPNG=1.0.8
libpng LIBPNG=1.2.17-rc3
libpng LIBPNG=1.0.9-beta2
libpng LIBPNG=1.2.3-rc6
libpng LIBPNG=1.2.4
libpng LIBPNG=1.2.1-beta2
libpng LIBPNG=1.2.22
libpng LIBPNG=1.0.12-rc1
libpng LIBPNG=1.2.21-beta2
libpng LIBPNG=1.0.29-rc1
libpng LIBPNG=1.2.26-beta06
libpng LIBPNG=1.0.23-rc5
libpng LIBPNG=1.2.19-beta26
libpng LIBPNG=1.2.1-beta3
libpng LIBPNG=1.0.14
libpng LIBPNG=1.0.6-h
libpng LIBPNG=1.2.9-beta5
libpng LIBPNG=1.2.22-beta1
libpng LIBPNG=1.0.27-rc1
libpng LIBPNG=1.2.17-rc1
libpng LIBPNG=1.0.28-rc5
libpng LIBPNG=1.2.22-beta2
libpng LIBPNG=1.2.9-beta1
libpng LIBPNG=1.0.17
libpng LIBPNG=1.0.35
libpng LIBPNG=1.2.10-beta6
libpng LIBPNG=1.2.19-beta5
libpng LIBPNG=1.2.0
libpng LIBPNG=1.2.21-rc2
libpng LIBPNG=1.2.10-beta1
libpng LIBPNG=1.0.28-rc3
libpng LIBPNG=1.2.19-beta18
libpng LIBPNG=0.95
libpng LIBPNG=1.2.4-beta2
libpng LIBPNG=1.0.27
libpng LIBPNG=1.0.11-rc1
libpng LIBPNG=1.0.22
libpng LIBPNG=1.2.2-beta1
libpng LIBPNG=0.89c
libpng LIBPNG=1.0.11
libpng LIBPNG=1.2.10-rc1
libpng LIBPNG=1.0.20
libpng LIBPNG=1.2.6-beta1
libpng LIBPNG=1.0.11-beta2
libpng LIBPNG=1.2.27
libpng LIBPNG=1.2.2-beta4
libpng LIBPNG=1.2.7-beta2
libpng LIBPNG=1.2.19-beta28
libpng LIBPNG=1.2.9-beta3
libpng LIBPNG=1.0.9
libpng LIBPNG=1.0.13
libpng LIBPNG=1.0.29-rc2
libpng LIBPNG=1.2.18
libpng LIBPNG=1.2.3-rc4
libpng LIBPNG=1.0.23-rc2
libpng LIBPNG=1.2.11-rc2
libpng LIBPNG=1.2.21
libpng LIBPNG=1.2.21-rc1
libpng LIBPNG=1.2.20-rc3
libpng LIBPNG=1.0.6
libpng LIBPNG=1.0.28-rc2
libpng LIBPNG=1.0.7-rc1
libpng LIBPNG=1.2.6-rc5
libpng LIBPNG=1.0.32
libpng LIBPNG=1.2.0-rc1
libpng LIBPNG=1.2.8-rc1
libpng LIBPNG=1.2.20-rc4
libpng LIBPNG=1.2.2-beta6
libpng LIBPNG=1.2.19-beta23
libpng LIBPNG=1.2.19-beta3
libpng LIBPNG=1.2.19-rc4
libpng LIBPNG=1.2.30
libpng LIBPNG=1.0.7-beta12
libpng LIBPNG=1.2.5-beta1
libpng LIBPNG=1.2.13-rc1
libpng LIBPNG=1.2.20
libpng LIBPNG=1.2.17-beta2
libpng LIBPNG=1.0.34
libpng LIBPNG=1.2.15-beta2
libpng LIBPNG=1.2.19-beta21
libpng LIBPNG=1.0.6-g
libpng LIBPNG=1.2.19-beta1
libpng LIBPNG=1.2.15-rc2
libpng LIBPNG=1.0.25
libpng LIBPNG=1.2.22-beta3
libpng LIBPNG=1.0.25-rc1
libpng LIBPNG=1.2.13-beta1
libpng LIBPNG=1.0.21
libpng LIBPNG=1.0.7-beta16
libpng LIBPNG=1.2.10
libpng LIBPNG=1.2.6-rc3
libpng LIBPNG=1.0.38
libpng LIBPNG=1.0.3
libpng LIBPNG=1.2.11-rc1
libpng LIBPNG=1.0.40
libpng LIBPNG=1.2.25-rc01
libpng LIBPNG=1.0.11-beta1
libpng LIBPNG=1.2.19-beta15
libpng LIBPNG=1.0.24-rc1
libpng LIBPNG=1.0.11-beta3
libpng LIBPNG=1.0.18
libpng LIBPNG=1.0.9-rc1
libpng LIBPNG=1.2.9-beta8
libpng LIBPNG=1.0.8-beta2
libpng LIBPNG=1.2.19-beta17
libpng LIBPNG=1.2.15-beta1
libpng LIBPNG=1.2.16-beta2
libpng LIBPNG=1.0.19-rc5
libpng LIBPNG=1.2.3-rc5
libpng LIBPNG=1.2.8-beta2
libpng LIBPNG=1.2.11-beta2
libpng LIBPNG=1.0.9-beta9
libpng LIBPNG=1.0.8-beta4
libpng LIBPNG=1.2.25-rc02
libpng LIBPNG=1.0.28-rc4
libpng LIBPNG=1.2.8
libpng LIBPNG=1.2.6-rc4
libpng LIBPNG=1.2.32
libpng LIBPNG=1.2.19-rc5
libpng LIBPNG=1.0.19-rc2
libpng LIBPNG=1.0.19-rc3
libpng LIBPNG=1.0.7
libpng LIBPNG=1.2.4-rc1
libpng LIBPNG=1.0.16
libpng LIBPNG=1.2.14-beta2
libpng LIBPNG=1.0.9-beta6
libpng LIBPNG=1.0.2
libpng LIBPNG=1.2.26-beta01
libpng LIBPNG=1.2.3
libpng LIBPNG=1.2.6-beta3
libpng LIBPNG=1.0.21-rc1
libpng LIBPNG=1.2.11-rc5
libpng LIBPNG=1.0.10-rc1
libpng LIBPNG=1.2.1-rc2
libpng LIBPNG=1.2.15-beta4
libpng LIBPNG=1.2.28
libpng LIBPNG=1.2.15
libpng LIBPNG=1.0.5
libpng LIBPNG=1.0.9-beta3
libpng LIBPNG=1.2.1
libpng LIBPNG=1.2.13
libpng LIBPNG=1.2.3-rc2
libpng LIBPNG=1.0.6-f
libpng LIBPNG=1.0.8-rc1
libpng LIBPNG=1.2.1-beta4
libpng LIBPNG=1.2.19-rc3
libpng LIBPNG=1.0.29
libpng LIBPNG=1.2.14-beta1
libpng LIBPNG=1.2.9-beta7
libpng LIBPNG=1.2.22-rc1
libpng LIBPNG=1.2.9-beta6
libpng LIBPNG=1.2.17
libpng LIBPNG=1.2.26-beta05
libpng LIBPNG=1.0.27-rc4
libpng LIBPNG=1.0.39
libpng LIBPNG=1.0.27-rc6
libpng LIBPNG=1.2.2-beta2
libpng LIBPNG=1.0.25-rc2
libpng LIBPNG=1.2.10-beta4
libpng LIBPNG=1.2.0-beta1
libpng LIBPNG=1.0.7-beta11
libpng LIBPNG=1.0.6-i
libpng LIBPNG=1.2.19-beta27
libpng LIBPNG=1.0.6-j
libpng LIBPNG=1.0.24
libpng LIBPNG=1.2.5-rc2
libpng LIBPNG=1.2.21-rc3
libpng LIBPNG=1.2.8-rc4
libpng LIBPNG=1.2.19-beta10
libpng LIBPNG=1.2.15-beta5
libpng LIBPNG=1.2.2-beta3
libpng LIBPNG=1.2.26-rc01
libpng LIBPNG=1.0.12
libpng LIBPNG=1.2.3-rc3
libpng LIBPNG=1.2.11-beta4
libpng LIBPNG=1.2.10-beta2
libpng LIBPNG=1.0.15
libpng LIBPNG=1.2.11
libpng LIBPNG=1.2.13-rc2
libpng LIBPNG=1.2.19-beta8
libpng LIBPNG=1.2.8-beta4
libpng LIBPNG=1.2.14-rc1
libpng LIBPNG=1.2.23
libpng LIBPNG=1.2.15-rc3
libpng LIBPNG=1.0.15-rc2
libpng LIBPNG=1.0.23-rc4
libpng LIBPNG=1.0.15-rc3
libpng LIBPNG=1.2.25-beta06
libpng LIBPNG=1.0.19
libpng LIBPNG=1.0.9-beta4
libpng LIBPNG=1.2.19-beta30
libpng LIBPNG=1.0.7-beta18
libpng LIBPNG=1.2.5
libpng LIBPNG=1.2.6-rc2
libpng LIBPNG=1.2.8-rc3
libpng LIBPNG=1.2.25-beta05
libpng LIBPNG=1.0.7-beta14
libpng LIBPNG=1.2.25-beta03
libpng LIBPNG=1.2.15-beta6
libpng LIBPNG=1.2.4-beta1
libpng LIBPNG=1.0.29-beta1
libpng LIBPNG=1.2.19-beta31
libpng LIBPNG=1.2.0-beta3
libpng LIBPNG=1.0.28
libpng LIBPNG=1.2.6-beta4
libpng LIBPNG=1.0.21-rc2
libpng LIBPNG=1.0.8-beta1
libpng LIBPNG=1.2.2-beta5
libpng LIBPNG=1.2.21-beta1
libpng LIBPNG=1.2.34
libpng LIBPNG=1.2.17-rc4
libpng LIBPNG=1.0.8-beta3
libpng LIBPNG=1.0.9-beta7
libpng LIBPNG=1.0.7-rc2
libpng LIBPNG=1.2.9-beta4
libpng LIBPNG=1.0.28-rc6
libpng LIBPNG=1.0.26
libpng LIBPNG=1.2.6
libpng LIBPNG=1.0.9-rc2
libpng LIBPNG=1.2.7-beta1
libpng LIBPNG=1.0.22-rc1
libpng LIBPNG=1.0.9-beta10
libpng LIBPNG=1.0.27-rc2
libpng LIBPNG=1.2.4-beta3
libpng LIBPNG=1.2.31
libpng LIBPNG=1.2.19-beta13
libpng LIBPNG=1.2.19-beta4
libpng LIBPNG=1.2.11-rc3
libpng LIBPNG=1.2.10-beta7
libpng LIBPNG=1.2.10-rc3
libpng LIBPNG=1.2.15-rc4
libpng LIBPNG=1.2.9-rc1
libpng LIBPNG=1.2.9-beta9
libpng LIBPNG=1.2.19
libpng LIBPNG=1.0.33
libpng LIBPNG=1.0.23-rc1
libpng LIBPNG=1.0.0
libpng LIBPNG=1.2.15-rc5
libpng LIBPNG=1.2.9
libpng LIBPNG=1.2.8-beta5
libpng LIBPNG=1.2.1-beta1
libpng LIBPNG=1.2.8-rc2
libpng LIBPNG=1.2.26-beta03
libpng LIBPNG<=1.0.42
libpng LIBPNG=1.2.19-rc1
libpng LIBPNG=1.2.20-rc1
libpng LIBPNG=1.0.9-beta5
libpng LIBPNG=1.2.10-rc2
libpng LIBPNG=1.0.23
libpng LIBPNG=1.2.19-beta19
libpng LIBPNG=1.2.5-rc3
libpng LIBPNG=1.2.6-beta2
libpng LIBPNG=1.0.30
libpng LIBPNG=1.2.17-beta1
libpng LIBPNG=1.2.19-beta2
libpng LIBPNG=1.2.3-rc1
libpng LIBPNG=1.0.10
libpng LIBPNG=1.0.31
libpng LIBPNG=1.0.7-beta17
libpng LIBPNG=1.0.19-rc1
libpng LIBPNG=1.2.10-beta5
libpng LIBPNG=1.2.15-beta3
libpng LIBPNG=1.2.0-beta2
libpng LIBPNG=1.2.9-beta10
libpng LIBPNG=1.2.19-beta25
libpng LIBPNG=1.2.6-rc1
libpng LIBPNG=1.0.27-rc3
libpng LIBPNG=1.2.24
libpng LIBPNG=1.2.19-beta9
libpng LIBPNG=1.0.12-beta1
libpng LIBPNG=1.2.25
libpng LIBPNG=1.2.16-rc1
libpng LIBPNG=1.2.19-rc6
libpng LIBPNG=1.2.11-beta1
libpng LIBPNG=1.2.19-beta20
libpng LIBPNG=1.2.9-beta2
libpng LIBPNG=1.2.19-beta16
libpng LIBPNG<1.0.43
libpng LIBPNG>=1.2.0<1.2.35
Apple iPhone OS<3.0
openSUSE openSUSE=10.3
openSUSE openSUSE=11.0
openSUSE openSUSE=11.1
SUSE Linux Enterprise=9.0
SUSE Linux Enterprise=10.0
SUSE Linux Enterprise Desktop=10-sp2
SUSE Linux Enterprise Server=10-sp2
Debian Debian Linux=4.0
Debian Debian Linux=5.0
Fedoraproject Fedora=9
Fedoraproject Fedora=10

Event History

Feb 22, 2009
CVE Published
via MITRE·10:00 PM
Data Sourced
via MITRE·10:00 PM
Description
Data Sourced
via NVD·10:30 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2009-0040?

CVE-2009-0040 has a severity level categorized as high due to its potential to cause denial of service and execute arbitrary code.

2

How do I fix CVE-2009-0040?

To fix CVE-2009-0040, upgrade the libpng library to version 1.0.43 or later, or 1.2.35 or later.

3

What applications are affected by CVE-2009-0040?

CVE-2009-0040 affects applications that utilize the libpng library, such as pngcrush and any software using vulnerable libpng versions.

4

What are the potential impacts of CVE-2009-0040?

Exploitation of CVE-2009-0040 can lead to application crashes or potentially allow attackers to execute arbitrary code.

5

Is CVE-2009-0040 still a concern for modern systems?

CVE-2009-0040 may still pose a concern for systems running outdated versions of libpng, as many applications still depend on legacy libraries.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203