[C++] Bundled Brotli 1.0.9 is affected by CVE-2026-111497 (decoder out-of-bounds write)
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 75/100
Piste de recherche
Commencez par vérifier la version épinglée de Brotli dans cpp/thirdparty/versions.txt et comparer les en-têtes du décodeur fourni avec le commit de correctif upstream 0ed4268a4401abcb4472096340477cf4af7d1a2b. Mettez à jour la version fournie vers v1.2.1 ou appliquez le correctif, puis exécutez les tests pertinents de Brotli et de Parquet ou IPC. Le travail est terminé lorsque le décodeur fourni contient le correctif, y compris la définition d’erreur indiquée, et que les fichiers compressés concernés sont traités en toute sécurité.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
CVE-2026-111497 is an out-of-bounds write in the Brotli C decoder (c/dec/decode.c, versions 1.0.3 through 1.2.0). A crafted stream can request an impossible block switch, which the decoder mistakes for "needs more input". It then writes past the end of an internal 8-byte buffer. GitHub rates it 9.2 (CVSS 4.0), and Node.js shipped fixes for it on 2026-10-21.
cpp/thirdparty/versions.txt pins ARROW_BROTLI_BUILD_VERSION=v1.0.9, and that version is used whenever Brotli is built as a bundled dependency. In those builds, reading a Parquet or IPC file that contains Brotli-compressed data passes the file's contents to the decoder, so a crafted file can trigger the bug. Builds that link a patched system Brotli aren't affected.
Upstream fixed this in Brotli 1.0.10, 1.1.1 and 1.2.1 (fix commit). Updating the bundled copy to v1.2.1, or applying that commit, resolves it. A patched copy is easy to recognise: its decode.h defines BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH (-17).
References:
- Advisory: https://github.com/advisories/GHSA-9v8h-qqgm-4m35
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-111497
- Upstream release: https://github.com/google/brotli/releases/tag/v1.2.1
- Overview of affected software and bundled copies: https://broccoli2shell.com/
- Langage dominant
- C++
- Étoiles
- 17.2k
- Forks
- 4.4k
- Merge moyen
- 2 j 20 h
- PR mergées (30 j)
- 66
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de apache/arrow
-
[CI][Docs] Pull requests closed by the PR limit workflow cannot be reopened by their authorsOuverteComponent: Continuous Integration Component: Documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
apache/arrow#54696 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
[R][Parquet] ParquetReaderProperties does not expose page_checksum_verification, so a corrupt page CRC reads silentlyPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. OuverteComponent: R good-first-issue Type: enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
apache/arrow#53138 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
[C++][Python] IPC reader rejects a DictionaryEncoding without indexType, which the format allowsPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. OuverteComponent: C++ Component: Python Type: bug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
[R] Silent loss of metadata integrity for date-time and numeric attributes in write_parquet()/read_parquet()Peut-être à nouveau libre @james-finn-travers l’a pris il y a 24 jours, et aucune pull request n’est ouverte. OuverteComponent: R Type: bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
apache/arrow#51695 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
[C++][Parquet] Plaintext-footer files written with AES_GCM_CTR_V1 record AES_GCM_V1 as the encryption algorithm and cannot be readPeut-être pris @autoCAT6 l’a pris il y a 6 jours. OuverteType: bug
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de apache/arrow
Issues similaires
-
Status: Needs confirmation Status: Needs triage
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
Les mainteneurs répondent en général sous 1 jour
-
bug-unconfirmed
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour
-
A-combat P-low S-ready-to-start task
Difficulté 2/5 1-3 heures Accessibilité débutants 77/100
Les mainteneurs répondent en général sous 1 jour
-
bug intrinsic medium priority rt_lib
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour