Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/securify-ai/cve-2026-39275
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration TestingApprendimento e Formazione
GitHubsecurify-ai/cve-2026-39275

CVE-2026-39275

CVE-2026-39275 - XSS memorizzato che porta al furto dell'account in Cockpit CMS

Vedi Repository
112 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-39275 - XSS Memorizzato che Porta al Furto dell'Account in Cockpit CMS

CVE CWE-79 Severity CVSS

Nota: Divulgato responsabilmente e corretto dai manutentori di Cockpit CMS prima della pubblicazione.

ID CVECVE-2026-39275
VulnerabilitàStored Cross-Site Scripting (XSS) → Furto dell'Account
CWECWE-79
Versioni affetteCockpit CMS <= 2.13.5
Corretta ind70dc50
CVSS 3.18.4 (AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N)
Segnalato daRohith - Security Consultant @ SecurifyAI

Riepilogo

Una vulnerabilità XSS memorizzata nella visualizzazione dell'elenco delle raccolte di contenuti consente a qualsiasi utente con permessi di scrittura (una chiave API o una sessione editor autenticata) di iniettare JavaScript arbitrario che viene eseguito nel browser di qualsiasi amministratore o editor che visualizza l'elenco degli elementi della raccolta interessata.

I token di sessione di Cockpit sono completamente accessibili da JavaScript - il cookie di sessione è impostato senza il flag HttpOnly, e il JWT CSRF è esposto nella variabile globale App.csrf e nell'attributo data-csrf su <html>. Ciò consente allo script iniettato di leggere entrambi i token e riprodurli esternamente, aggirando la protezione CSRF e consentendo il dirottamento completo della sessione e il furto dell'account.


Causa Principale

Gli output di render() dei campi vengono passati alla direttiva v-html di Vue senza codifica dell'output.

FileRiga/eRuolo
modules/App/assets/vue-components/fields/field-tags.js25 - 34Render tag - nessuna codifica
modules/App/assets/vue-components/fields/field-select.js26Render select - nessuna codifica
modules/Content/views/collection/items.php149Sink v-html

Prova di Concetto

1. Iniettare il payload (chiave API di scrittura a bassi privilegi)

root@kitploit:~
curl -X POST "http://localhost:8080/api/content/item/posts" \
  -H "Content-Type: application/json" \
  -H "api-key: USR-<attacker-api-key>" \
  -d '{
    "data": {
      "title": "Innocent Looking Post",
      "tags": [
        "",
        ""
      ],
      "body": "Just a regular post.",
      "_state": 1
    }
  }'

2. Attivare l'esecuzione

Un amministratore o editor naviga a /content/collection/items/posts. Il renderer dei tag restituisce la stringa memorizzata, v-html la analizza in un vero elemento ``, l'attributo src falso fallisce e il gestore onerror si attiva.

3. Furto dei token

Entrambi i token sono ora leggibili - il cookie di sessione tramite document.cookie e il JWT CSRF tramite App.csrf / document.documentElement.getAttribute('data-csrf'). Un payload armato esfiltra entrambi:

root@kitploit:~
image

4. Replay della sessione

L'attaccante riproduce il cookie e il token CSRF rubati, ottenendo pieno accesso autenticato come amministratore - e può quindi creare account amministratore, modificare le credenziali o alterare i contenuti.


Impatto

Un editor con privilegi bassi (o qualsiasi possessore di chiave API con permessi di scrittura) scala a amministratore completo. Il payload è memorizzato e si attiva per ogni amministratore/editor che visualizza l'elenco, rendendolo un compromesso persistente e multi-vittima.


Rimedio

Correzione principale - sanitizzare l'output del render prima che raggiunga v-html usando l'helper esistente App.utils.stripTags().

field-tags.js:

root@kitploit:~
value = App.utils.stripTags(value); // sanitize before v-html

field-select.js:

root@kitploit:~
return App.utils.stripTags(value); // sanitize before v-html

Difesa in profondità - rafforzare il cookie di sessione:

root@kitploit:~
ini_set('session.cookie_httponly', 1);
ini_set('session.cookie_secure', 1);   // over HTTPS
ini_set('session.cookie_samesite', 'Strict');

HttpOnly da solo è insufficiente - l'XSS può ancora agire nel contesto autenticato del browser della vittima - quindi la codifica dell'output è la correzione essenziale.


Cronologia della Divulgazione

DataEvento
2026-03-29Vulnerabilità segnalata ai manutentori di Cockpit CMS
2026-03-29Correzione rilasciata dai manutentori
2026-04-04Richiesto CVE
2026-06-23CVE-2026-39275 assegnato
<pub date>Divulgazione pubblica

Questo materiale è pubblicato a scopo educativo e difensivo in seguito a una divulgazione coordinata. Utilizza solo contro sistemi di tua proprietà o per i quali hai esplicitamente l'autorizzazione a testare.

Scarica lo strumento