Salta al contenuto principale

GIMP 3.2.6 corregge 28 vulnerabilità e prepara il futuro dell’editor libero

Inviato da tuxsa il
wilber

GIMP 3.2.6 è disponibile e questa volta l'aggiornamento merita particolare attenzione soprattutto per la sicurezza: la nuova versione stabile dell'editor grafico libero corregge 28 vulnerabilità segnalate attraverso CVE e Zero Day Initiative, insieme a numerosi bug e miglioramenti accumulati negli ultimi mesi.

Non siamo davanti a una nuova major release e nemmeno a una versione costruita attorno a funzioni spettacolari. GIMP 3.2.6 è principalmente un aggiornamento di manutenzione, ma proprio questo permette di osservare un aspetto del Software Libero che riceve spesso meno attenzione delle novità visibili: il lavoro continuo necessario per mantenere sicuro e affidabile un programma complesso.

Un editor di immagini rappresenta infatti una superficie di attacco tutt'altro che trascurabile.

GIMP deve aprire e interpretare un'enorme quantità di formati grafici differenti, spesso attraverso plugin e librerie specializzate. Un file apparentemente innocuo può contenere dati costruiti appositamente per sfruttare un errore nel parser che deve leggerlo.

Negli ultimi anni gli strumenti utilizzati dai ricercatori di sicurezza sono diventati sempre più efficaci nell'individuare questo tipo di problemi e il progetto GIMP sottolinea proprio come una parte consistente del lavoro recente sia stata dedicata a verificare e correggere potenziali vulnerabilità presenti nei plugin di importazione.

Il risultato è un elenco particolarmente consistente di problemi risolti in GIMP 3.2.6.

Ma la sicurezza non è l'unica novità.

Il programma migliora sensibilmente anche la gestione dei font, uno dei settori nei quali gli utenti con collezioni tipografiche molto grandi potevano incontrare rallentamenti. Gli sviluppatori hanno lavorato sulle prestazioni durante l'avvio di GIMP, nell'utilizzo dello strumento Testo e nell'apertura e chiusura degli elenchi dei caratteri.

Il problema non è ancora considerato completamente risolto e il progetto riconosce che ulteriori miglioramenti potrebbero richiedere in futuro il passaggio a GTK4.

Ed è proprio qui che compare un'altra piccola ma significativa novità.

GIMP utilizza attualmente GTK3, ma alcuni sviluppatori hanno cominciato a sostituire parti dell'API ormai deprecate con soluzioni che potranno facilitare un eventuale futuro porting a GTK4.

Il progetto precisa che non esiste ancora un piano immediato per effettuare la migrazione. Non siamo quindi davanti all'annuncio di “GIMP 4 in GTK4”, ma a un lavoro preliminare destinato a ridurre progressivamente il debito tecnico e rendere meno difficile una transizione futura.

È una distinzione importante perché nello sviluppo di applicazioni libere con decenni di storia le grandi migrazioni tecnologiche raramente possono essere affrontate premendo semplicemente un interruttore.

GIMP 3.2.6 introduce anche una nuova possibilità per chi utilizza tavolette grafiche professionali: il supporto alla rotazione dello stilo, conosciuta anche come barrel rotation.

Con penne compatibili, tra cui alcuni modelli Wacom, GIMP può ora rilevare non soltanto pressione e inclinazione, ma anche la rotazione fisica della penna nella mano dell'artista. Questo valore può essere associato alle dinamiche dei pennelli, permettendo un comportamento maggiormente simile a quello degli strumenti pittorici reali.

Numerose correzioni riguardano inoltre l'interfaccia e il comportamento sulle diverse piattaforme.

Su KDE vengono migliorate le decorazioni delle finestre di dialogo, mentre Windows e macOS ricevono diverse correzioni nella gestione delle finestre, dei temi e del focus.

Particolarmente importante è il lavoro svolto su macOS.

A partire da GIMP 3.2.6 il pacchetto DMG viene costruito insieme alle versioni Linux e Windows attraverso un'infrastruttura molto più semplice rispetto al complicato processo utilizzato in precedenza. L'integrazione con il sistema Apple migliora inoltre per temi, scorciatoie, menu, finestre e apertura dei file remoti.

C'è poi una novità interessante per chi sviluppa estensioni.

Le distribuzioni ufficiali di GIMP comprendono ora quello che il progetto chiama GIMP SDK: gli header e le librerie necessarie per compilare plugin C e filtri GEGL attraverso gimptool vengono distribuiti direttamente anche con AppImage, Windows e macOS.

Questo riduce la distanza tra chi utilizza il programma e chi vuole estenderlo.

Ed è un aspetto particolarmente importante in un progetto libero: un'applicazione non è soltanto qualcosa che riceviamo dagli sviluppatori, ma può diventare una piattaforma sulla quale altri possono costruire strumenti, plugin e nuove funzioni.

Anche i numeri mostrano la dimensione del lavoro nascosto dietro una release apparentemente “minore”.

Dal precedente GIMP 3.2.4 sono stati chiusi 179 rapporti come risolti, integrate 104 merge request e realizzati 871 commit nel repository principale. Cinquantotto persone hanno contribuito direttamente con modifiche o correzioni al codice e 21 traduzioni sono state aggiornate.

Sono numeri che aiutano a comprendere una caratteristica spesso dimenticata del Software Libero.

Un programma non rimane vivo semplicemente perché il suo codice sorgente è disponibile.

Deve esserci qualcuno che legge le segnalazioni, analizza vulnerabilità, corregge regressioni, aggiorna traduzioni, mantiene sistemi di compilazione, verifica nuove piattaforme e prepara pacchetti utilizzabili dagli utenti.

GIMP 3.2.6 racconta proprio questo tipo di lavoro.

Non introduce una rivoluzione nell'editing delle immagini, ma rende il programma più sicuro, corregge numerosi problemi, migliora l'esperienza sulle differenti piattaforme e comincia a preparare alcuni dei cambiamenti tecnologici che serviranno negli anni futuri.

Per chi utilizza già GIMP 3.2, quindi, l'aggiornamento alla versione 3.2.6 è particolarmente consigliabile proprio per le correzioni di sicurezza.

E forse questa release ci ricorda anche qualcosa di più generale.

Nel Software Libero l'innovazione non consiste soltanto nell'aggiungere continuamente nuove funzioni.

Mantenere milioni di righe di codice, correggerle quando vengono scoperti problemi e consentire a una comunità di continuare a migliorarle nel tempo è anch'essa innovazione — semplicemente quella meno appariscente e più indispensabile.