|
1236 | 1236 |
|
1237 | 1237 | <a id="PHP_8_4"></a> |
1238 | 1238 |
|
| 1239 | +<section class="version" id="8.4.24"><!-- {{{ 8.4.24 --> |
| 1240 | +<h3>Version 8.4.24</h3> |
| 1241 | +<b><?php release_date('30-Jul-2026'); ?></b> |
| 1242 | +<ul><li>BCMath: |
| 1243 | +<ul> |
| 1244 | + <li>Fixed <?php githubsecurityl('php/php-src', 'x692-q9x7-8c3f'); ?> (Out-of-bounds write in bccomp()). (CVE-2026-17544)</li> |
| 1245 | +</ul></li> |
| 1246 | +<li>Calendar: |
| 1247 | +<ul> |
| 1248 | + <li>Fixed bug <?php githubissuel('php/php-src', 22602); ?> (gregoriantojd() and juliantojd() integer overflow with INT_MAX year).</li> |
| 1249 | +</ul></li> |
| 1250 | +<li>Date: |
| 1251 | +<ul> |
| 1252 | + <li>Update timelib to 2022.17.</li> |
| 1253 | + <li>Fixed bug <?php githubissuel('php/php-src', 19803); ?> (Parsing a string with a single white space does create an error).</li> |
| 1254 | + <li>Fixed Unix timestamps in February of the year 0 are misparsed with @-notation.</li> |
| 1255 | + <li>Fixed bug <?php githubissuel('php/php-src', 11310); ?> (__debugInfo does nothing on userland classes extending Date classes).</li> |
| 1256 | +</ul></li> |
| 1257 | +<li>DBA: |
| 1258 | +<ul> |
| 1259 | + <li>Fixed OOB read on malformed length field in dba flatfile handler.</li> |
| 1260 | +</ul></li> |
| 1261 | +<li>DOM: |
| 1262 | +<ul> |
| 1263 | + <li>Fixed bug <?php githubissuel('php/php-src', 22570); ?> (Stack overflow when serializing a deeply nested Dom\XMLDocument).</li> |
| 1264 | +</ul></li> |
| 1265 | +<li>Exif: |
| 1266 | +<ul> |
| 1267 | + <li>Fixed bug <?php githubissuel('php/php-src', 11020); ?> (exif_read_data() emits a spurious "Illegal IFD size" warning when an IFD is not followed by a next-IFD offset).</li> |
| 1268 | +</ul></li> |
| 1269 | +<li>GD: |
| 1270 | +<ul> |
| 1271 | + <li>Upgrade libgd. (CVE-2026-9672)</li> |
| 1272 | +</ul></li> |
| 1273 | +<li>Hash: |
| 1274 | +<ul> |
| 1275 | + <li>Fixed bug <?php githubissuel('php/php-src', 18173); ?> (ext/hash relies on implementation-defined malloc alignment).</li> |
| 1276 | +</ul></li> |
| 1277 | +<li>Intl: |
| 1278 | +<ul> |
| 1279 | + <li>Fixed Locale::lookup() and locale_lookup() to return NULL instead of the fallback locale when a language tag cannot be canonicalized.</li> |
| 1280 | + <li>Fixed memory leaks when calling Collator::__construct() or Spoofchecker::__construct() twice.</li> |
| 1281 | + <li>Fixed IntlChar methods leaving stale global error state after successful calls.</li> |
| 1282 | +</ul></li> |
| 1283 | +<li>ODBC: |
| 1284 | +<ul> |
| 1285 | + <li>Fixed bug <?php githubissuel('php/php-src', 22668); ?> (Heap buffer over-read when a column value exceeds the driver-reported display size).</li> |
| 1286 | +</ul></li> |
| 1287 | +<li>OpenSSL: |
| 1288 | +<ul> |
| 1289 | + <li>Fixed timeout for supplemental read at end of a blocking stream in SSL stream wrapper.</li> |
| 1290 | +</ul></li> |
| 1291 | +<li>PDO_ODBC: |
| 1292 | +<ul> |
| 1293 | + <li>Fixed bug <?php githubissuel('php/php-src', 20726); ?> (Crash with ODBC connection pooling when the DSN carries no credentials).</li> |
| 1294 | + <li>Fixed bug <?php githubissuel('php/php-src', 22667); ?> (Heap buffer over-read when a column value exceeds the driver-reported display size).</li> |
| 1295 | + <li>Fixed bug <?php githubissuel('php/php-src', 22666); ?> (Heap buffer overflow when an output parameter value is longer than the declared maxlen).</li> |
| 1296 | + <li>Fixed bug <?php githubissuel('php/php-src', 22665); ?> (Out-of-bounds write when the ODBC driver reports a diagnostic message length beyond the error buffer).</li> |
| 1297 | +</ul></li> |
| 1298 | +<li>PGSQL: |
| 1299 | +<ul> |
| 1300 | + <li>Fixed <?php githubsecurityl('php/php-src', '7qpv-r5mr-78m4'); ?> (SQL injection via E'...' backslash breakout). (CVE-2026-17543)</li> |
| 1301 | +</ul></li> |
| 1302 | +<li>Phar: |
| 1303 | +<ul> |
| 1304 | + <li>Fixed inconsistent handling of the magic ".phar" directory. Paths such as "/.phar" remain protected, while non-magic paths that merely start with ".phar" are handled consistently across file and directory creation, copying, ArrayAccess, stream lookup, directory iteration and extraction.</li> |
| 1305 | + <li>Fixed <?php githubsecurityl('php/php-src', 'vc5h-9ppw-p5f3'); ?> (Crash via recursive symlinks). (CVE-2026-7260)</li> |
| 1306 | +</ul></li> |
| 1307 | +<li>PHPDBG: |
| 1308 | +<ul> |
| 1309 | + <li>Fixed bug <?php githubissuel('php/php-src', 17387); ?> (Trivial crash in phpdbg lexer).</li> |
| 1310 | + <li>Fixed fleaked lowercased lookup keys in phpdbg_resolve_opline_break.</li> |
| 1311 | + <li>Fixed off-by-one in phpdbg_safe_class_lookup() causing class lookups to always fail during phpdbg's signal-safe interruption path.</li> |
| 1312 | +</ul></li> |
| 1313 | +<li>Reflection: |
| 1314 | +<ul> |
| 1315 | + <li>Fixed bug <?php githubissuel('php/php-src', 22324); ?> (Ignore leading namespace separator in ReflectionParameter::__construct()).</li> |
| 1316 | + <li>Fixed bug <?php githubissuel('php/php-src', 22441); ?> (ReflectionClass::hasProperty() and getProperty() ignore dynamic properties shadowing a private parent property).</li> |
| 1317 | + <li>Fixed bug <?php githubissuel('php/php-src', 22658); ?> (ReflectionConstant::__toString() with a string value with null bytes truncates output).</li> |
| 1318 | + <li>Fixed bug <?php githubissuel('php/php-src', 22681); ?> (Reflection*::__toString() truncates on null bytes).</li> |
| 1319 | +</ul></li> |
| 1320 | +<li>Session: |
| 1321 | +<ul> |
| 1322 | + <li>Fixed bug <?php githubissuel('php/php-src', 21314); ?> (Different session garbage collector behavior between PHP 8.3 and PHP 8.5).</li> |
| 1323 | +</ul></li> |
| 1324 | +<li>SPL: |
| 1325 | +<ul> |
| 1326 | + <li>Fix class_parents for classes with leading slash in non-autoload mode.</li> |
| 1327 | + <li>Ignore leading back-slash in class_parents(), class_implements(), and class_uses().</li> |
| 1328 | + <li>Fixed bug <?php githubissuel('php/php-src', 16217); ?> (SplFileObject::fputcsv() on an uninitialized object segfaults).</li> |
| 1329 | +</ul></li> |
| 1330 | +<li>Standard: |
| 1331 | +<ul> |
| 1332 | + <li>Fixed bug <?php githubissuel('php/php-src', 22360); ?> (convert.base64-encode corruption on incremental flush).</li> |
| 1333 | + <li>Fixed bug <?php githubissuel('php/php-src', 22395); ?> (base_convert() outputs at most 64 characters).</li> |
| 1334 | + <li>Fixed integer overflow in getimagesize() and getimagesizefromstring() when parsing an IFF chunk with a size of INT_MAX.</li> |
| 1335 | + <li>Fixed bug <?php githubissuel('php/php-src', 22678); ?> (Use-after-free in array_multisort() when the comparator mutates the array being sorted).</li> |
| 1336 | +</ul></li> |
| 1337 | +<li>Streams: |
| 1338 | +<ul> |
| 1339 | + <li>Fixed bug <?php githubissuel('php/php-src', 22617); ?> (persistent stream keys truncated at null bytes, causing distinct abstract unix domain sockets to share a resource).</li> |
| 1340 | +</ul></li> |
| 1341 | +<li>Zip: |
| 1342 | +<ul> |
| 1343 | + <li>Fixed bug <?php githubissuel('php/php-src', 22649); ?> (ZipArchive::setCommentName() and setCommentIndex() could crash after overwriting an entry and resetting its inherited unchanged comment).</li> |
| 1344 | + <li>Fixed bug <?php githubissuel('php/php-src', 21705); ?> (ZipArchive::getFromIndex() ignores ZipArchive::FL_UNCHANGED for deleted entries).</li> |
| 1345 | +</ul></li> |
| 1346 | +</ul> |
| 1347 | +<!-- }}} --></section> |
| 1348 | + |
| 1349 | + |
| 1350 | + |
1239 | 1351 | <section class="version" id="8.4.23"><!-- {{{ 8.4.23 --> |
1240 | 1352 | <h3>Version 8.4.23</h3> |
1241 | 1353 | <b><?php release_date('03-Jul-2026'); ?></b> |
|
0 commit comments