Opened 6 weeks ago
Closed 6 weeks ago
#66059 closed enhancement (fixed)
Update getID3 to version 1.9.26
| Reported by: | Soean | Owned by: | SergeyBiryukov |
|---|---|---|---|
| Priority: | normal | Milestone: | 7.2 |
| Component: | External Libraries | Version: | |
| Severity: | normal | Keywords: | has-patch |
| Cc: | Focuses: |
Description
Follow up to #64914.
getID3 1.9.26 has been released. The bundled copy in src/wp-includes/ID3/ is currently at 1.9.25.
This release is mostly bug fixes and hardening for malformed or truncated media files, plus one new format:
- ID3v2 frame reading is now clamped to the file size.
- APE and Lyrics3 tag detection no longer performs negative seeks on very small files.
- Added a bounds check to the QuickTime ES descriptor length parser.
- The LAME
integer_versionarray is initialised to avoid undefined array key notices on malformed MP3 headers. - RIFF INFO
ITRKis now mapped totrack_number. is_integer()has been replaced withis_int(), and error-suppressed@list()destructuring has been replaced witharray_pad(), which removes a number of PHP 8.5 warnings.- Command paths passed to the Windows
vorbiscomment.exehelper are now escaped withescapeshellarg(). This helper is not used by WordPress, but the fix is part of the release. - JPEG XL support has been added (bare codestream and ISO BMFF container).
One point worth noting: in [61889], LIBXML_NOENT was removed from GETID3_LIBXML_OPTIONS in WordPress, which left getid3.lib.php in a locally patched state. Upstream has adopted the same change in 1.9.26, so that file no longer needs a local patch and all bundled files are byte-identical to the upstream release again.
As with previous updates, only the audio/video subset of the library that WordPress bundles is updated. The new upstream modules (module.audio-video.isobmff.php, module.graphic.jpegxl.php) are not added, and none of the bundled modules gained a new hard dependency.
Release notes: https://github.com/JamesHeinrich/getID3/releases/tag/v1.9.26
Full list of changes: https://github.com/JamesHeinrich/getID3/compare/v1.9.25...v1.9.26
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)
The release hardens parsing of malformed or truncated files (ID3v2 frame size clamped to filesize, no negative seeks for APE/Lyrics3 on small files, bounds check in the QuickTime ES descriptor length parser), replaces the error-suppressed
@list()destructuring witharray_pad(), switchesis_integer()tois_int(), and escapes command paths for the Windowsvorbiscomment.exehelper.Notably, 1.9.26 also incorporates the change from [61889] (removing
LIBXML_NOENTfromGETID3_LIBXML_OPTIONS) upstream, sogetid3.lib.phpno longer needs a local patch. All 16 bundled files are now identical to upstream v1.9.26 again.Only the bundled audio/video subset was updated. The new upstream modules (
module.audio-video.isobmff.php,module.graphic.jpegxl.php, …) are not included, consistent with prior updates, none of the bundled modules gained a new hard dependency.References:
Trac ticket: https://core.trac.wordpress.org/ticket/66059