Den korrigerende udgave af biblioteket libXpm 3.5.15, udviklet af X.Org projektet og anvendt til at behandle filer i XPM-format, er blevet offentliggjort. Den nye version retter tre sårbarheder, hvoraf to (CVE-2022-46285, CVE-2022-44617) fører til uendelig løkke ved behandling af specielt formaterede XPM-filer. Den tredje sårbarhed (CVE-2022-4883) muliggør udførelse af vilkårlige kommandoer, når applikationer, der bruger libXpm, køres. Ved kørsel af privilegerede processer relateret til libXpm, såsom programmer med suid root flag, giver sårbarheden mulighed for at hæve ens privilegier.
Sårbarheden skyldes, hvordan libXpm håndterer komprimerede XPM-filer — ved behandling af filer XPM.Z eller XPM.gz, bruger biblioteket execlp() til at starte eksterne dekomprimeringsværktøjer (uncompress eller gunzip), hvor stien beregnes baseret på miljøvariablen PATH. Angrebet består i at placere ens egne eksekverbare filer uncompress eller gunzip i en brugbar mappe, der findes på PATH-listen, som vil blive kørt, når en applikation, der bruger libXpm, startes.
Sårbarheden er blevet rettet ved at erstatte kaldet til execlp med execl ved hjælp af absolute stier til værktøjerne. En ny byggeindstilling «—disable-open-zfile» er også blevet tilføjet, hvilket gør det muligt at deaktivere behandlingen af komprimerede filer og kaldet af eksterne værktøjer til dekomprimering.
Kilde: opennet.ru
