Bug Fix
Sono state risolte le seguenti vulnerabilità relative alle librerie di terze parti:
CVE-2026-44417, CVE-2026-50623, CVE-2026-50629, CVE-2026-50630, CVE-2026-50631, CVE-2026-50632, CVE-2026-50633, CVE-2026-50634, CVE-2026-50645, CVE-2026-54225, CVE-2026-57817, CVE-2026-57818, CVE-2026-57819, CVE-2026-61466, CVE-2026-63687, CVE-2026-64958, CVE-2026-65432, CVE-2026-65583, CVE-2026-66909, CVE-2026-68079, CVE-2026-68481, CVE-2026-71575, CVE-2026-100227, CVE-2026-107937, CVE-2026-107938, CVE-2026-108039: aggiornata libreria “org.apache.cxf:*” alla versione 4.2.4
CVE-2026-41838, CVE-2026-41840, CVE-2026-41841, CVE-2026-41842, CVE-2026-41843, CVE-2026-41844, CVE-2026-41845, CVE-2026-41846, CVE-2026-41848, CVE-2026-41850, CVE-2026-41851, CVE-2026-41852, CVE-2026-47890, CVE-2026-47891, CVE-2026-47892, CVE-2026-47893, CVE-2026-59280, CVE-2026-59281, CVE-2026-59282, CVE-2026-59283, CVE-2026-59313, CVE-2026-59314: aggiornata libreria “org.springframework:*” alla versione 7.0.9
CVE-2026-40988, CVE-2026-41003, CVE-2026-41694, CVE-2026-47841, CVE-2026-47842, CVE-2026-47877, CVE-2026-59270, CVE-2026-59276, CVE-2026-59277: aggiornata libreria “org.springframework.security:*” alla versione 7.1.1
CVE-2026-41720: aggiornata libreria “org.springframework.ldap:*” alla versione 4.1.0
CVE-2026-54512, CVE-2026-54513, CVE-2026-54514, CVE-2026-54515, CVE-2026-54516, CVE-2026-54517, CVE-2026-54518, CVE-2026-68497, CVE-2026-83557, CVE-2026-19032: aggiornata libreria “com.fasterxml.jackson.core:*” alla versione 2.22.3
CVE-2026-44891, CVE-2026-55831, CVE-2026-55833, CVE-2026-62380, CVE-2026-89044: aggiornata libreria “io.netty:*” alla versione 4.2.18.Final
CVE-2026-66142, CVE-2026-66143, CVE-2026-66144, CVE-2026-91863, CVE-2026-91864, CVE-2026-91865, CVE-2026-91866, CVE-2026-91867: aggiornata libreria “org.apache.neethi:neethi” alla versione 3.2.4
CVE-2026-88920, CVE-2026-85532, CVE-2026-92899: aggiornata libreria “org.apache.wss4j:*” alla versione 4.0.2
CVE-2026-102495, CVE-2026-102496, CVE-2026-102497: aggiornata libreria “org.apache.ws.xmlschema:xmlschema-core” alla versione 2.3.3
CVE-2026-107726, CVE-2026-107725: aggiornata libreria “com.hazelcast:hazelcast” alla versione 5.7.0; i contatori del rate limiting, che utilizzavano il CP Subsystem non più disponibile nella Community Edition, sono stati reimplementati su una mappa distribuita
CVE-2026-8763, CVE-2026-13506: aggiornata libreria “org.bouncycastle:*” alla versione 1.86
CVE-2026-71497, CVE-2026-75140: aggiornata libreria “org.jsoup:jsoup” alla versione 1.23.2
CVE-2026-84939: aggiornata libreria “org.freemarker:freemarker” alla versione 2.3.35
CVE-2026-78254: aggiornata libreria “org.apache.ant:*” alla versione 1.10.18
CVE-2026-64607: aggiornata libreria “org.apache.httpcomponents.client5:httpclient5” alla versione 5.6.4
CVE-2026-54399, CVE-2026-54428: aggiornata libreria “org.apache.httpcomponents.core5:*” alla versione 5.4.3
CVE-2026-49844: aggiornata libreria “org.apache.logging.log4j:*” alla versione 2.26.1
Sono state inoltre corrette le segnalazioni di vulnerabilità rilevate da SonarQube v26.6.0.123539.
Sono stati risolti i seguenti bug per la componente runtime del gateway:
Il provider “BouncyCastle” impediva la lettura dei keystore PKCS12 cifrati con algoritmi moderni (PBES2/AES-256, default di OpenSSL 3 e di keytool dal JDK 16), segnalando l’errore fuorviante “keystore password was incorrect”. Il provider viene inoltre registrato dopo quelli del JDK, più performanti sugli algoritmi di uso comune.
Profilo ModI: le richieste con Content-Type “application/problem+json”, “application/problem+xml” o contenenti un SOAPFault venivano trattate come messaggi di errore e la sicurezza messaggio non veniva applicata in fruizione né verificata in erogazione.
Corrette le seguenti anomalie relative alle trasformazioni:
sulle API REST le operazioni sull’header “Content-Type” non venivano applicate in assenza di una conversione del contenuto;
sulle API REST una regola che ridefiniva HTTP Method o Path e trasformava la risposta faceva fallire ogni invocazione con errore 502.
Corrette le seguenti anomalie relative ai connettori HTTP:
il connettore “httpcore5” BIO non consentiva di invocare endpoint con host non conforme a RFC 2396 (es. contenente “_”), fallendo con l’errore “NullPointerException: Host name”;
il connettore “httpcore5” non registrava, per le richieste con body, la data di uscita della richiesta, visibile nei tempi di dettaglio della transazione;
una risposta Problem Details compressa dal backend (es. “Content-Encoding: gzip”) veniva interpretata senza decompressione e inoltrata al client corrotta;
l’override della configurazione HTTPS della JVM attivato su un connettore veniva applicato anche alle connessioni verso Token Endpoint e Attribute Authority, causandone il fallimento;
il connettore “Status” con verifica statistica poteva contare due volte le transazioni;
il connettore “httpcore5” (BIO e NIO) continuava a usare il contenuto di truststore, keystore e CRL letto alla creazione del pool di connessioni, ignorando gli aggiornamenti dei file anche dopo il reset della cache: un certificato aggiunto non veniva considerato e uno rimosso restava attendibile fino al riavvio.
Correlazione Applicativa: un messaggio privo di contenuto (es. risposta con codice HTTP 204) faceva terminare la transazione con errore anche quando l’impostazione “Identificazione fallita” della regola era “accetta”. È adesso possibile trattare l’assenza del contenuto come una normale identificazione non riuscita: la transazione termina con errore solo se la regola prevede “blocca”, mentre con “accetta” prosegue senza registrare l’identificativo di correlazione. Il nuovo comportamento è disabilitato per default, per retrocompatibilità, ed è attivabile separatamente per richiesta e risposta nella configurazione globale.
Claim, parametri e header definiti con la forma opzionale “?{..}” e non risolvibili a runtime venivano inviati con un valore vuoto anziché essere omessi, causando ad esempio il fallimento della negoziazione di un token PDND.
La validazione dei contenuti di una API REST rifiutava con errore 502 documenti XML validi, in funzione della sola formattazione (es. elemento radice su più righe o attributi con apici singoli).
I file temporanei creati nella directory “dumpBinario” per i messaggi di grandi dimensioni non venivano sempre eliminati al termine della transazione, accumulandosi fino a saturare il volume dei log (caso tipico: API REST con validazione dei contenuti e messaggi binari o multipart). L’eliminazione è adesso garantita ed è stata aggiunta una pulizia periodica della directory.
WS-Security: con la nuova versione di “wss4j” non venivano più accettati gli attachment cifrati in modalità “Element” privi del Content-Type tra gli header cifrati. Il Content-Type viene adesso sempre cifrato; per accettare i messaggi prodotti dalle versioni precedenti è possibile abilitare in ricezione l’opzione “decryptAttachmentMimeTypeFallback”.
Con il “Multipart Parsing” abilitato, un allegato SOAP “text/xml” con contenuto non valido faceva fallire la registrazione del messaggio; viene adesso registrato come binario.
Gli eventi di violazione del controllo del traffico potevano non essere registrati quando più raggruppamenti di una stessa policy venivano violati contemporaneamente.
Con il forward proxy (govway-proxy) attivo, il claim “htu” del DPoP proof generato verso il backend riportava l’URL del proxy anziché quello del backend.
Nel passaggio all’ora solare, i messaggi presi in carico tra le 02:00 e le 02:05 venivano riconsegnati continuamente e alcuni identificativi Integration Manager risultavano non trovati.
Su Apache Tomcat l’arresto tramite lo script “shutdown.sh” non terminava e il processo restava bloccato.
Per la console di gestione sono stati risolti i seguenti bug:
I campi che contengono identificativi esterni o elenchi di valori (es. Client ID, Audience, Scope, Kid, CRL) rifiutavano caratteri ammessi come “|”, “[”, “]”, “»” e “,”.
I caratteri speciali (es. doppi apici) dei template di Correlazione Applicativa venivano visualizzati come entità HTML e alterati a un successivo salvataggio.
Nella gestione CORS di una fruizione, l’abilitazione dell’opzione “Max Age” impediva il salvataggio della configurazione.
Nelle maschere con caricamento di file, il salvataggio poteva fallire con l’errore «Dati incompleti» (es. una regola di trasformazione REST con conversione tramite template perdeva HTTP Method e Path). Corretti inoltre la validazione della password dei keystore caricati come credenziali, i ritorni a capo del WSDL modificato e gli spazi iniziali e finali delle interfacce YAML caricate tramite le API di configurazione.
Negli elenchi il numero di elementi per pagina veniva perso tornando all’elenco; l’export di molti oggetti poteva fallire con l’errore «414 URI Too Long». Aggiunto inoltre un indicatore di operazione in corso durante la preparazione dell’export.
Lo spostamento tramite frecce delle regole di proxy pass e degli archivi dei plugin falliva dopo la cancellazione di elementi. In tutte le liste ordinabili (regole di proxy pass, policy di rate limiting, regole di trasformazione e relative risposte, archivi dei plugin, handler) lo spostamento è adesso possibile anche oltre il confine di pagina, mentre con un filtro di ricerca attivo la colonna “Ordine” non viene visualizzata. Corretti inoltre i tooltip con lettere accentate, mostrati come entità HTML, e il titolo delle liste annidate dopo una ricerca.
Aggiunto un limite alla dimensione dei file caricati, configurabile tramite la property “console.security.request.multipart.maxSize” (default 250M).
Le API REST con interfaccia WADL, provenienti da un aggiornamento dalla 3.3, rendevano inaccessibile l’elenco delle API; sono adesso presentate come “WADL (deprecato, non supportato)”.
Le proprietà di un connettore di tipo plugin di una fruizione, ridefinito in un gruppo, venivano lette e modificate sul connettore di default.
Nella sezione “Runtime”, in modalità cluster dinamica, vengono adesso nascoste anche le informazioni riferite al singolo nodo (“HTTP Client - BIO”, “HTTP Client - NIO”, “Threads Pool” della “Consegna Notifiche”).
Documentate, nella token policy di negoziazione PDND e nel manuale, le keyword per la configurazione del purposeId riferite all’applicativo identificato tramite token.
Il controllo anti SQL injection rifiutava i valori contenenti una parola chiave SQL (es. un’azione “insert” o “delete-user”), segnalando l’errore fuorviante “Dati incompleti”; la correzione riguarda anche la console di monitoraggio e le API di configurazione e monitoraggio.
La sanificazione degli attributi “style” nei parametri ricevuti non filtrava alcuna proprietà CSS.
Adeguamento alle WCAG 2.1 AA: rimosse le barriere di accessibilità rilevate, con particolare riferimento all’operabilità da tastiera, ai nomi accessibili dei controlli e al contrasto.
Per la console di monitoraggio sono stati risolti i seguenti bug:
La lettura dei CSV del Tracciamento PDND non rilasciava la connessione al database, esaurendo le connessioni del datasource; il problema riguardava l’export e il download dei tracciati e la pubblicazione verso la PDND del timer statistiche in modalità applicazione web.
Nel caricamento di file sono stati aggiunti il limite di dimensione e la verifica del token CSRF; corretti inoltre l’indicatore di caricamento, il messaggio di errore, la cancellazione dei file in “Esamina archivio” e il conteggio dell’elenco delle ricerche salvate.
Il diagnostico “DPoP backend proof generato (in cache)” veniva classificato erroneamente come warning.
Su Tomcat, in presenza di molti soggetti operativi, il cambio del profilo di interoperabilità e la navigazione tra le sezioni visualizzavano l’errore «Illegal Syntax for Set Operation».
Il titolo della console si configura adesso con la proprietà “console.nome.esteso”, come per la console di gestione.
Adeguamento alle WCAG 2.1 AA: rimosse le barriere di accessibilità rilevate, con particolare riferimento all’operabilità da tastiera, ai nomi accessibili dei controlli e al contrasto.
Per le API di configurazione sono stati risolti i seguenti bug:
La creazione o modifica di risorse, azioni o servizi, e l’aggiornamento della gestione token o del caching della risposta, terminavano con errore 500 in assenza di alcuni campi opzionali; i campi assumono adesso il valore di default.
La configurazione ModI di una fruizione non veniva validata secondo le regole del profilo, consentendo configurazioni non ammesse dalla console.
Una fruizione ModI “oauth” creata senza identificativo, kid e keystore non era più leggibile (errore 500).
Nella creazione di un’API SOAP, la validazione del profilo ModI la trattava come REST.
Per le API di monitoraggio sono stati risolti i seguenti bug:
I report di Analisi Statistica non coincidevano con quelli della console: senza filtro sull’esito venivano riportate le sole transazioni con successo, gli estremi dell’intervallo non venivano allineati all’unità di campionamento e l’unità temporale, se non indicata, veniva assunta giornaliera.
Le richieste scartate venivano escluse per default da tutte le ricerche, in contrasto con la console e con l’interfaccia OpenAPI.
L’API che restituisce il CSV di un tracciato PDND risponde adesso con codice HTTP 404, anziché 500, quando il CSV non è disponibile.