Valve sembra aver risolto una vulnerabilità di injection HTML in Counter Strike 2, la quale è stata pesantemente sfruttata per inoculare immagini nel gioco e ottenere gli indirizzi IP di altri giocatori.
Inizialmente ritenuta una vulnerabilità più grave di Cross-Site Scripting (XSS), che consente l'esecuzione di codice JavaScript nel client, il bug è stato poi identificato come una vulnerabilità di injection HTML. Ciò è stato possibile perché Counter-Strike 2 utilizza la Panorama UI di Valve, un'interfaccia utente che incorpora ampiamente CSS, HTML e JavaScript per la disposizione del design.
Nel contesto della disposizione del design, gli sviluppatori possono configurare i campi di input per accettare HTML senza passare per il processo di sanitize. Se il campo abilita l'HTML, ogni testo inserito verrebbe reso in output come HTML. In questi giorni gli utenti di CS2 hanno iniziato a segnalare che altri utenti stavano abusando di una vulnerabilità per iniettare immagini nel pannello di voto per l'espulsione.
Cannot get X.com oEmbed
Nonostante l'abuso della falla sia stato per lo più sfruttato per divertimento innocuo, altri l'hanno utilizzata per ottenere gli indirizzi IP di altri giocatori nella partita. Ciò è stato realizzato utilizzando il tag <img> per aprire uno script di registrazione IP remoto che causava la registrazione dell'indirizzo IP per ogni giocatore che visualizzava il voto di espulsione.
Questi indirizzi IP potrebbero essere utilizzati in modo malevolo, ad esempio, per lanciare attacchi DDoS e costringere i giocatori a disconnettersi dalla partita.
Nel pomeriggio, Valve ha rilasciato un piccolo aggiornamento di 7 MB che sembra risolvere la vulnerabilità, facendo sì che ogni HTML inserito venga sanificato in una stringa regolare.
Nel 2019 era già stata riscontrata una vulnerabilità simile, ma più grave, nella Panorama UI di Counter-Strike: Global Offensive, che consentiva l'iniezione di HTML tramite la funzione di espulsione. Tuttavia, in quel caso specifico, poteva anche essere utilizzata per lanciare JavaScript, rendendola una vulnerabilità XSS molto più critica che poteva essere sfruttata per eseguire comandi a distanza.