
Write-up tecnico per CVE-2026-8337, un IDOR nel sondaggio di Concrete CMS che consente ad attaccanti non autenticati di influenzare i risultati dei sondaggi privati inviando un optionID appositamente predisposto a un endpoint pubblico del sondaggio.
CVE-2026-8337 è una vulnerabilità Insecure Direct Object Reference (IDOR) in Concrete CMS che interessa la funzionalità dei sondaggi. A differenza di CVE-2026-8347 (che coinvolgeva le associazioni Express), questa vulnerabilità consente a un attaccante non autenticato di partecipare a un sondaggio riservato/privato in specifiche configurazioni del sito.
Concrete CMS 9.5.0 e versioni precedenti contiene un difetto di autorizzazione nella funzionalità dei sondaggi. Se un sito web è configurato con sia un sondaggio pubblico che un sondaggio riservato (privato), un attaccante può inviare l'optionID di un sondaggio riservato all'endpoint del sondaggio pubblico.
Poiché l'applicazione non valida correttamente che l'optionID inviato appartenga al sondaggio pubblico a cui si sta rispondendo, il voto viene registrato per il sondaggio riservato. Ciò consente a un utente non autenticato di influenzare i risultati di sondaggi a cui non dovrebbe avere accesso.
L'applicazione valida l'endpoint del sondaggio pubblico ma non verifica che l'optionID inviato appartenga effettivamente a quel sondaggio.
Concettualmente:
L'utente invia il voto ↓ L'endpoint del sondaggio pubblico riceve la richiesta ↓ L'applicazione accetta l'optionID fornito ↓ Nessuna validazione che l'optionID appartenga a questo sondaggio ↓ Il voto viene registrato nel sondaggio riservato
Invece di imporre la relazione tra ID del sondaggio e ID dell'opzione, il server si fida di un identificatore controllato dall'utente.
Supponiamo che un sito web contenga:
Sondaggio A (Pubblico) Sondaggio B (Privato)
Un attaccante vota prima nel Sondaggio A.
Intercettando la richiesta (ad esempio, utilizzando un proxy web) e sostituendo l'optionID inviato con uno appartenente al Sondaggio B, l'attaccante può indurre l'applicazione a registrare un voto nel sondaggio privato perché il server non verifica che l'opzione appartenga al sondaggio previsto.
Lo sfruttamento riuscito può comportare:
Partecipazione non autorizzata a sondaggi privati. Manipolazione dei risultati dei sondaggi. Perdita dell'integrità dei dati.
Questa vulnerabilità ha un impatto principalmente sull'integrità, piuttosto che sulla riservatezza o sulla disponibilità.
Gli amministratori dovrebbero aggiornare a Concrete CMS 9.5.1 o versioni successive. Gli sviluppatori dovrebbero garantire che ogni optionID inviato venga validato rispetto al sondaggio a cui si sta rispondendo e che i controlli di autorizzazione impediscano agli utenti di interagire con i dati dei sondaggi riservati tramite endpoint pubblici.