CVE-2022-31630 json
OOB read due to insufficient input validation in imageloadfont()
published 2022-11-14 3 y ago modified 2026-09-08 2 mo ago also BIT-libphp-2022-31630 , BIT-php-2022-31630 , BIT-php-min-2022-31630 , EUVD-2022-53082
- cvss
- 6.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.3%
- EPSS 1.3% chance of exploitation in 30 days, percentile 70%
- public exploits
- 0
- none known
Summary
In PHP versions prior to 7.4.33, 8.0.25 and 8.1.12, when using imageloadfont() function in gd extension, it is possible to supply a specially crafted font file, such as if the loaded font is used with imagechar() function, the read outside allocated buffer will be used. This can lead to crashes or disclosure of confidential information.
Patch / fix
- bitnami libphp 7.4.33, 8.0.25, 8.1.12
- bitnami php 7.4.33, 8.0.25, 8.1.12
- bitnami php-min 7.4.33, 8.0.25, 8.1.12
- PHP Group PHP 7.4.33, 8.0.25, 8.1.12
- php7.4 Debian 11 7.4.33-1+deb11u1
debian advisories DEBIAN-CVE-2022-31630
- php7.4 Ubuntu 20.04 LTS 7.4.3-4ubuntu2.15
- php8.1 Ubuntu 22.04 LTS 8.1.2-1ubuntu2.8
ubuntu advisories UBUNTU-CVE-2022-31630
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- php RHEL 8 7.4.33-1.module+el8.8.0+17865+ef7eddfa
- libzip RHEL 8 1.6.1-1.module+el8.3.0+6678+b09f589e
- php-gd RHEL 8 7.4.33-1.module+el8.8.0+17865+ef7eddfa
- php-cli RHEL 8 7.4.33-1.module+el8.8.0+17865+ef7eddfa
- php-dba RHEL 8 7.4.33-1.module+el8.8.0+17865+ef7eddfa
- php-dbg RHEL 8 7.4.33-1.module+el8.8.0+17865+ef7eddfa
- php-ffi RHEL 8 7.4.33-1.module+el8.8.0+17865+ef7eddfa
- php-fpm RHEL 8 7.4.33-1.module+el8.8.0+17865+ef7eddfa
red hat advisories RHSA-2023:2903RHSA-2023:2417RHSA-2023:0965RHSA-2023:0848
- php7 SLES for SAP 15 SP2, SLES 15 SP2-LTSS, SLES 15 SP2-BCL +10 more 7.4.33-150200.3.46.2
- php7-test openSUSE Leap 15.3 7.4.33-150200.3.46.2
- php74 SLE Software Development Kit 12 SP5, SLE Module for Web and Scripting 12 7.4.33-1.47.2
- php8 SLE Module for Web and Scripting 15 SP4, openSUSE Leap 15.4 8.0.25-150400.4.17.1
- php8-fpm SLE Module for Web and Scripting 15 SP4, openSUSE Leap 15.4 8.0.25-150400.4.17.1
- php8-test SLE Module for Web and Scripting 15 SP4, openSUSE Leap 15.4 8.0.25-150400.4.17.1
- php8-embed SLE Module for Web and Scripting 15 SP4, openSUSE Leap 15.4 8.0.25-150400.4.17.1
- php8-fastcgi SLE Module for Web and Scripting 15 SP4, openSUSE Leap 15.4 8.0.25-150400.4.17.1
suse advisories SUSE-SU-2022:4069-1SUSE-SU-2022:4068-1SUSE-SU-2022:4005-1SUSE-SU-2022:3997-1
- php8 openSUSE Tumbleweed 8.1.12-1.1
opensuse advisories openSUSE-SU-2024:12467-1
- php AlmaLinux 8 7.4.33-1.module_el8.8.0+3477+f828cbb0
- libzip AlmaLinux 8 1.6.1-1.module_el8.6.0+2750+78feabcb
- libzip AlmaLinux 8 1.6.1-1.module_el8.6.0+3239+bedf0508
- php-gd AlmaLinux 8 7.4.33-1.module_el8.8.0+3477+f828cbb0
- php-cli AlmaLinux 8 7.4.33-1.module_el8.8.0+3477+f828cbb0
- php-dba AlmaLinux 8 7.4.33-1.module_el8.8.0+3477+f828cbb0
- php-dbg AlmaLinux 8 7.4.33-1.module_el8.8.0+3477+f828cbb0
- php-ffi AlmaLinux 8 7.4.33-1.module_el8.8.0+3477+f828cbb0
almalinux advisories ALSA-2023:2903ALSA-2023:2417ALSA-2023:0965ALSA-2023:0848
- php-pecl-rrd Rocky Linux 9 2.0.3-4.module+el9.7.0+40005+715283ec
- php-pecl-rrd Rocky Linux 9 2.0.3-4.module+el9.7.0+40004+bf50a568
- php-pecl-rrd Rocky Linux 9 2.0.3-4.module+el9.7.0+40003+454ed3c4
- php-pecl-zip Rocky Linux 9 1.20.1-1.module+el9.7.0+40003+454ed3c4
- php-pecl-apcu Rocky Linux 9 5.1.21-1.module+el9.7.0+40003+454ed3c4
- php-pecl-xdebug3 Rocky Linux 9 3.1.4-1.module+el9.7.0+40003+454ed3c4
- php Rocky Linux 8 7.4.33-1.module+el8.10.0+1604+6558efc7
- libzip Rocky Linux 8 1.6.1-1.module+el8.10.0+1912+72767185
rocky linux advisories RLSA-2023:2417RLSA-2023:2903RLSA-2023:0965RLSA-2023:0848
- php7 Alpine 3.15, Alpine 3.14 7.4.33-r0
- php8 Alpine 3.16, Alpine 3.15 8.0.25-r0
- php81 Alpine 3.19, Alpine 3.18, Alpine 3.17 +1 more 8.1.12-r0
- php82 Alpine 3.22, Alpine 3.21, Alpine 3.20 +2 more 8.2.0_rc5-r0
alpine advisories ALPINE-CVE-2022-31630
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- bugs.php.net/bug.php?id=81739 advisory
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2022-31630 updated cvss 6.5
php: OOB read due to insufficient input validation in imageloadfont()
-
Red Hat Enterprise Linux AppStream (v. 8) php 7.4.33-1.module+el8.8.0+17865+ef7eddfa, php 8.0.27-1.module+el8.7.0+17863+0ad92cd2, libzip 1.6.1-1.module+el8.3.0+6678+b09f589e, libzip 1.7.3-1.module+el8.6.0+13671+84712317, php-gd 7.4.33-1.module+el8.8.0+17865+ef7eddfa, php-gd 8.0.27-1.module+el8.7.0+17863+0ad92cd2, +60 morefixed: vendor fix RHSA-2023:0848
-
Red Hat Enterprise Linux AppStream (v. 9) php 8.0.27-1.el9_1, php-gd 8.0.27-1.el9_1, php-cli 8.0.27-1.el9_1, php-dba 8.0.27-1.el9_1, php-dbg 8.0.27-1.el9_1, php-ffi 8.0.27-1.el9_1, +47 morefixed: vendor fix RHSA-2023:0965
-
Red Hat Enterprise Linux 6 php, php-gd, php-cli, php-dba, php-fpm, php-pdo, +20 more Red Hat Enterprise Linux 7 php, php-gd, php-cli, php-dba, php-fpm, php-pdo, +18 more Red Hat Software Collections rh-php73-php, rh-php73-php-gd, rh-php73-php-cli, rh-php73-php-dba, rh-php73-php-dbg, rh-php73-php-fpm, +22 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
1.32% chance of exploitation in the next 30 days, higher than 70% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- bugs.php.net https://bugs.php.net/bug.php?id=81739 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L |
| NVD | 3.1 | 7.1 | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H |
| OSV | 3.1 | 7.1 | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| bitnami | libphp | >=7.4.0, <7.4.33 >=8.0.0, <8.0.25 >=8.1.0, <8.1.12 |
7.4.33 8.0.25 8.1.12 |
| bitnami | php | >=7.4.0, <7.4.33 >=8.0.0, <8.0.25 >=8.1.0, <8.1.12 |
7.4.33 8.0.25 8.1.12 |
| bitnami | php-min | >=7.4.0, <7.4.33 >=8.0.0, <8.0.25 >=8.1.0, <8.1.12 |
7.4.33 8.0.25 8.1.12 |
Affected products
- PHP Group PHP
Classification
References
-
bugs.php.net
/bug.php?id=81739
exploit, issue-tracking, patch, vendor-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2022-31630
web
Sources
- CVE List CVE-2022-31630
- NVD CVE-2022-31630
- OSV BIT-libphp-2022-31630
- OSV BIT-php-2022-31630
- OSV BIT-php-min-2022-31630
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.