OpenEXR présente une écriture mal alignée dans LossyDctDecoder_execute entraînant un comportement indéfini (décompression DWA/DWAB)
Plateforme
c
Composant
openexr
Corrigé dans
3.2.7
OpenEXR fournit la spécification et l'implémentation de référence du format de fichier EXR, un format de stockage d'images pour l'industrie cinématographique. De la version 3.2.0 à la version 3.2.7, 3.3.9 et 3.4.9, une vulnérabilité d'écriture de mémoire mal alignée existe dans LossyDctDecoder_execute() dans src/lib/OpenEXRCore/internal_dwa_decoder.h:749. Lors du décodage d'un fichier EXR compressé DWA ou DWAB contenant un canal de type FLOAT, le décodeur effectue une conversion HALF→FLOAT sur place en convertissant un pointeur de ligne uint8_t * non aligné en float * et en écrivant à travers celui-ci. Étant donné que le tampon de ligne peut ne pas être aligné sur 4 octets, cela constitue un comportement indéfini selon la norme C et provoque un crash immédiat sur les architectures qui imposent l'alignement (ARM, RISC-V, etc.). Sur x86, cela est toléré silencieusement à l'exécution, mais reste exploitable via des optimisations du compilateur qui supposent un accès aligné. Cette vulnérabilité est corrigée dans les versions 3.2.7, 3.3.9 et 3.4.9.
Comment corriger
Aucun correctif officiel disponible. Recherchez des alternatives ou surveillez les mises à jour.
Surveillez vos dépendances automatiquement
Recevez des alertes quand de nouvelles vulnérabilités affectent vos projets.
Commencer gratuitement