5.4 CVE-2023-2757

XSS
 

The Waiting: One-click countdowns plugin for WordPress is vulnerable to authorization bypass due to a missing capability check on 'saveLang' functions in versions up to, and including, 0.6.2. This could lead to Cross-Site Scripting due to insufficient input sanitization and output escaping. This makes it possible for subscriber-level attackers to access functions to save plugin data that can potentially lead to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. (Waiting for translation)
https://nvd.nist.gov/vuln/detail/CVE-2023-2757

Categorie

CWE-79 : Neutralizzazione impropria dell'input durante la generazione di pagine Web ("Scripting cross-site")
Il prodotto non neutralizza o neutralizza in modo errato l'input controllabile dall'utente prima che venga inserito nell'output utilizzato come pagina Web servita ad altri utenti. Abbreviazione comune di Cross-Site Scripting. Utilizzato come sinonimo di XSS memorizzato (tipo 2). Nei primi anni dopo la scoperta degli XSS, l'acronimo "CSS" era comunemente utilizzato. Tuttavia, questo acronimo generava confusione con "Cascading Style Sheets", per cui l'uso di questo acronimo è diminuito in modo significativo. Utilizzate strumenti di analisi statica automatizzati che mirano a questo tipo di debolezza. Molte tecniche moderne utilizzano l'analisi del flusso di dati per ridurre al minimo il numero di falsi positivi. Non si tratta di una soluzione perfetta, poiché non è possibile ottenere una precisione e una copertura del 100%, soprattutto quando sono coinvolti più componenti. Utilizzate l'XSS Cheat Sheet [REF-714] o strumenti di generazione automatica di test per lanciare un'ampia varietà di attacchi contro le vostre applicazioni web. Il Cheat Sheet contiene molte sottili variazioni XSS che sono specificamente mirate contro le difese XSS deboli. Comprendete tutte le potenziali aree in cui input non attendibili possono entrare nel vostro software: parametri o argomenti, cookie, qualsiasi cosa letta dalla rete, variabili d'ambiente, ricerche DNS inverse, risultati di query, intestazioni di richieste, componenti di URL, e-mail, file, nomi di file, database e qualsiasi sistema esterno che fornisca dati all'applicazione. Ricordate che tali input possono essere ottenuti indirettamente tramite chiamate API. Per qualsiasi controllo di sicurezza eseguito sul lato client, assicurarsi che tali controlli siano duplicati sul lato server, al fine di evitare CWE-602. Gli aggressori possono aggirare i controlli sul lato client modificando i valori dopo che i controlli sono stati eseguiti o modificando il client per rimuovere completamente i controlli sul lato client. In questo modo, i valori modificati verrebbero inviati al server. Se disponibili, utilizzare meccanismi strutturati che impongano automaticamente la separazione tra dati e codice. Questi meccanismi possono essere in grado di fornire automaticamente la citazione, la codifica e la convalida pertinenti, invece di affidarsi allo sviluppatore per fornire questa capacità in ogni punto in cui viene generato l'output. Con Struts, scrivere tutti i dati dei form beans con l'attributo filter del bean impostato su true. Per attenuare gli attacchi XSS contro il cookie di sessione dell'utente, impostare il cookie di sessione come HttpOnly. Nei browser che supportano la funzione HttpOnly (come le versioni più recenti di Internet Explorer e Firefox), questo attributo può impedire che il cookie di sessione dell'utente sia accessibile a script client-side malevoli che utilizzano document.cookie. Questa non è una soluzione completa, poiché HttpOnly non è supportato da tutti i browser. Inoltre, XMLHTTPRequest e altre potenti tecnologie dei browser forniscono accesso in lettura alle intestazioni HTTP, compresa l'intestazione Set-Cookie in cui è impostato il flag HttpOnly. Quando l'insieme di oggetti accettabili, come nomi di file o URL, è limitato o noto, creare una mappatura da un insieme di valori di input fissi (come gli ID numerici) ai nomi di file o URL effettivi e rifiutare tutti gli altri input. Utilizzare un firewall per applicazioni in grado di rilevare gli attacchi contro questa debolezza. Può essere utile nei casi in cui non sia possibile correggere il codice (perché controllato da terzi), come misura di prevenzione di emergenza mentre vengono applicate misure di sicurezza del software più complete o per fornire una difesa in profondità. Quando si utilizza PHP, configurare l'applicazione in modo che non utilizzi register_globals. Durante l'implementazione, sviluppate l'applicazione in modo che non faccia affidamento su questa funzione, ma fate attenzione a implementare un'emulazione di register_globals che è soggetta a debolezze come CWE-95, CWE-621 e problemi simili. Python Library Manager non neutralizzava sufficientemente un termine di ricerca fornito dall'utente, consentendo un XSS riflesso. La piattaforma di e-commerce basata su Python non evadeva il contenuto restituito nelle pagine di errore, consentendo attacchi Cross-Site Scripting riflessi. XSS universale nel sistema operativo mobile, come sfruttato in natura secondo CISA KEV. Catena: la convalida impropria dell'input (CWE-20) nel prodotto firewall porta a XSS (CWE-79), come sfruttato in natura secondo CISA KEV. L'interfaccia grafica di amministrazione consente XSS tramite cookie. Il programma di statistiche web consente XSS attraverso un'intestazione HTTP modificata. Il prodotto per l'analisi dei registri Web consente XSS attraverso un'intestazione HTTP Referer artigianale. Catena: il fallimento del meccanismo di protezione consente XSS Catena: denylist incompleto (CWE-184) controlla solo il tag "javascript:", consentendo XSS (CWE-79) utilizzando altri tag Catena: denylist incompleto (CWE-184) rimuove solo i tag SCRIPT, consentendo XSS (CWE-79) XSS riflesso utilizzando PATH_INFO in un URL XSS riflesso non gestito correttamente durante la generazione di un messaggio di errore XSS riflesso inviato tramite messaggio e-mail. XSS memorizzato in un prodotto di sicurezza. XSS memorizzato utilizzando una pagina wiki. XSS memorizzato in un'applicazione guestbook. XSS memorizzato in un'applicazione guestbook utilizzando un javascript: URI in un tag bbcode img. Chain: il file di libreria non è protetto contro una richiesta diretta (CWE-425), il che porta a XSS riflessi (CWE-79).

Riferimenti


 

CPE

cpe avviare fine
Configuration 1
cpe:2.3:a:plugin:waiting:*:*:*:*:*:wordpress:*:* <= 0.6.2


RIMEDIO




EXPLOITS


Exploit-db.com

id descrizione data
Nessuna impresa nota

Altro (github, ...)

Url
Nessuna impresa nota


CAPEC


Common Attack Pattern Enumerations and Classifications

id descrizione gravità
209 XSS Utilizzo mancata corrispondenza del tipo MIME
Media
588 XSS basato su DOM
Molto alto
591 XSS riflesso
Molto alto
592 XSS memorizzato
Molto alto
63 Cross-Site Scripting (XSS)
Molto alto
85 Impronta AJAX
Debole


MITRE