CWE
94 824
Advisory Published
Updated

CVE-2009-0040: Code Injection

First published: Sun 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 png_read_png function, (2) pCAL chunk handling, or (3) setup of 16-bit gamma tables.

Credit: secalert@redhat.com

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

Never miss a vulnerability like this again

Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.

Reference Links

Frequently Asked Questions

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.
© 2025 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203