Informazioni sul CVE-2025-27089

Overlapping policies allow update to non-allowed fields in directus

CWE ID: CWE-863

Base Score (CVSS): N/A

CVE: CVE-2025-27089

Descrizione: Directus è un’API in tempo reale e dashboard per la gestione del contenuto del database SQL. In versioni danneggiate, se due politiche sovrapposte per l’azione `update` consentono l’accesso a diversi campi, invece di verificare correttamente le autorizzazioni rispetto all’elemento per l’utente, è possibile permettere all’utente di aggiornare il supersettio di campi consentiti da qualsiasi politica. Ad esempio, una politica consente l’aggiornamento di `field_a` se `id == 1` e una politica consente l’aggiornamento di `field_b` se `id == 2`. L’utente con entrambe queste politiche può aggiornare sia `field_a` che `field_b` per gli elementi con `id` 1 e 2. Prima di v11, se un utente era autorizzato a aggiornare un elemento, era autorizzato a aggiornare i campi che applicavano alla sola persona dell’elemento. Con le politiche sovrapposte, non è più così chiaro e la unione dei campi potrebbe non essere i campi che l’utente è autorizzato a aggiornare per quel particolare elemento. La soluzione introdotta in questo PR è valutare le autorizzazioni per ogni campo che l’utente tenta di aggiornare nel query `validateItemAccess`, invece di verificare solo l’accesso all’elemento nel suo complesso. Questo si fa restituendo un flag che indica se l’utente ha accesso a quel campo. Questo utilizza lo stesso meccanismo di caso/quando utilizzato per rimuovere i campi non autorizzati, che è il cuore del motore di autorizzazione. Come risultato, per ogni elemento che viene verificato per l’accesso, si ottiene un elemento che ha uno o zero per tutti i campi richiesti. Questi risultati non sono utili per altro che verificare le autorizzazioni dei livelli di accesso ai campi. La verifica finale in `validateItemAccess` può fallire se il numero di elementi non corrisponde al numero di elementi verificati (cioè, l’utente non ha accesso all’elemento in ogni caso). Questo è un’insecureità che permette l’accesso non autorizzato a campi indesiderati, potenzialmente compromettendo il campo password per gli account utente. Questo è stato corretto in versione 11.1.2 e gli utenti sono invitati ad aggiornare. Non esistono workaround per questa vulnerabilità.

Vettore di attacco CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N

Punteggio CVSS

Il CVSS è un sistema di valutazione che misura la gravità di una vulnerabilità informatica considerando fattori come l’impatto potenziale, la probabilità di attacco e la facilità di esecuzione.

Punteggio Base (calcolato da AziendaSicura): 5.3 (Medium)

Riassunto: Accesso: Network, Privilegi: Low, Interazione utente: None, Confidenzialità: Low, Integrità: Low, Disponibilità: None.

Dettaglio del Vettore

Metrica Valore Significato Descrizione
Attack Vector (AV) N Network L’attacco può essere eseguito da remoto attraverso la rete.
Attack Complexity (AC) L Low L’attacco non richiede condizioni particolari.
Privileges Required (PR) L Low Richiede pochi privilegi.
User Interaction (UI) N None Non è richiesta interazione dell’utente.
Scope (S) U Unchanged Il raggio d’azione non cambia.
Confidentiality Impact (C) L Low Impatto limitato.
Integrity Impact (I) L Low Impatto limitato.
Availability Impact (A) N None Nessun impatto sulla disponibilità.

Riferimenti esterni

Prodotti interessati

  • directus – directus

Relazioni con altri prodotti

Produttore:directus
Prodotto: directus
Anno: 2025
CWE: CWE-863
CVSS: 0.0