El 21 de març de 2026 el projecte OpenBSD va publicar l’errata 024 per a la versió 7.8. És un pedaç curt, catalogat com a “reliability fix” per a totes les arquitectures, que arregla tres vulnerabilitats de denegació de servei a libexpat, la llibreria que el sistema base fa servir per analitzar XML. Els identificadors són CVE-2026-32776, CVE-2026-32777 i CVE-2026-32778.
Què falla
libexpat (expat) és l’analitzador d’XML que apareix a mig món: navegadors, servidors web, eines de línia d’ordres i moltes llibreries que carreguen fitxers de configuració o feeds. Els tres errors comparteixen el mateix final, una caiguda del procés que està analitzant, però hi arriben per camins diferents.
- CVE-2026-32776: una desreferència de punter NULL quan el contingut d’una entitat de paràmetre externa és buit. En processar aquest cas, el codi accedeix a un punter que mai no es va inicialitzar.
- CVE-2026-32777: un bucle infinit en recórrer el contingut d’una DTD. El va trobar el fuzzer ClusterFuzz de Google. El procés no es tanca, però es queda penjat consumint CPU.
- CVE-2026-32778: una altra desreferència NULL, aquest cop a la funció
setContext, que es dispara en reintentar després d’una condició prèvia de manca de memòria.
Cap dels tres permet executar codi ni llegir dades alienes. L’impacte es limita a la disponibilitat: amb un XML preparat expressament, un atacant aconsegueix que l’aplicació que confia en expat caigui o es quedi encallada. La puntuació CVSS dels tres és 5.5, un vector local però amb impacte alt sobre la disponibilitat (AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H).
A qui afecta
Tothom que executi OpenBSD 7.8 i faci servir components que depenguin de libexpat per tractar XML d’origen no fiable. El risc real depèn de la teva exposició: si una aplicació teva analitza fitxers XML que rep de fora (pujades d’usuaris, feeds remots, missatges), un document maliciós n’hi ha prou per tombar aquest servei. A instal·lacions que només processen XML propi el perill és molt menor, encara que val la pena pedaçar igualment.
Això no és exclusiu d’OpenBSD. expat és pràcticament a tot arreu, i els mateixos CVE han generat avisos a Debian, SUSE, Amazon Linux i IBM, entre d’altres. La correcció original va arribar a expat 2.7.5; cada distribució l’ha anat integrant al seu ritme.
Com protegir-se
A OpenBSD 7.8 aplica l’errata 024 amb el procediment de sempre:
# syspatch
Si gestiones els pedaços a mà, descarrega el binari o el codi de l’errata des de la pàgina oficial i segueix les instruccions de compilació que acompanyen cada entrada. Després d’instal·lar, reinicia els serveis que tinguin la llibreria carregada a memòria perquè agafin la versió corregida.
Si administres sistemes heterogenis, repassa també la resta de màquines: qualsevol paquet que enllaci amb expat per sota de la 2.7.5 arrossega els mateixos tres errors. Mira el rastrejador de seguretat de la teva distribució i actualitza el paquet expat/libexpat allà on sigui.
OpenBSD manté el seu historial complet de pedaços a l’errata de la 7.8, útil per comprovar què portes aplicat.