Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
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
CVE-2026-44011-craftcms-auth-rce — Il PoC di CVE-2026-44011: RCE in Craft CMS con un utente autenticato. | Kitploit
Strumenti/GitHubGitHub/4xura/cve-2026-44011-craftcms-auth-rce
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPost-ExploitSicurezza WebPenetration TestingCommand and ControlStrumento di Accesso Remoto
GitHub4xura/cve-2026-44011-craftcms-auth-rce

CVE-2026-44011-craftcms-auth-rce

Il PoC di CVE-2026-44011: RCE in Craft CMS con un utente autenticato.

Vedi Repository
343 giorni 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-44011 Craft CMS PoC RCE autenticato

Solo per test autorizzati.

L'advisory di Craft CMS elenca >=4.0.0, <4.17.12 e >=5.0.0, <5.9.18 come versioni interessate, e attribuisce a precicom-vincent-tl il ruolo di scopritore.

Esecuzione

python -m pip install -r requirements.txt
python cve-2026-44011.py -b 'https://example.com' -u '<username' -p '<password>' -c '<command>'

Argomenti obbligatori:

  • -b, --base-url: URL di Craft, incluso http:// o https://.
  • -u, --username: Nome utente del pannello di controllo.
  • -p, --password: Password del pannello di controllo.
  • -c, --command: Comando da eseguire e di cui catturare l'output.

Argomenti opzionali:

  • -P, --cp-path: Percorso del pannello di controllo (predefinito: /admin).
  • -s, --site-id: ID del sito (predefinito: 1).
  • -e, --element-type: Tipo di elemento (predefinito: craft\elements\Category).
  • -f, --csrf-field: Nome del campo CSRF di login (predefinito: CRAFT_CSRF_TOKEN).
  • -t, --timeout: Timeout per richieste e callback in secondi (predefinito: 15).
  • -F, --force: Continua quando la versione di Craft non è disponibile o è al di fuori degli intervalli dell'advisory.
  • -H, --callback-host: Indirizzo raggiungibile dal target (per impostazione predefinita viene dedotto l'indirizzo locale; sovrascrivilo in caso di pivot).
  • --listen-port: Porta del listener (predefinita: una porta libera selezionata dal sistema operativo; imposta una porta fissa per l'inoltro).

Analisi della vulnerabilità

1. Input della condizione

Nell'azione di ricerca vulnerabile, condition passa dal corpo della POST alla creazione dell'oggetto senza sanificazione.

$conditionConfig = $this->request->getBodyParam('condition');
$condition = Craft::$app->getConditions()->createCondition($conditionConfig);

2. Layout di campo annidato

ElementCondition::setFieldLayouts() costruisce un layout da ciascun array fornito.

if (is_array($fieldLayout)) {
    $fieldLayout['type'] = $this->elementType;
    return $fieldsService->createLayout($fieldLayout);
}

3. Esecuzione di callable

Il payload dell'advisory collega l'AttributeTypecastBehavior di Yii con una chiave as e collega un evento con on *. Il behavior raggiunge Psy\Readline\Hoa\ConsoleProcessus::execute tramite il typecast callable di Yii.

condition.fieldLayouts[]
  -> FieldLayout behavior + event
  -> AttributeTypecastBehavior::typecastValue()
  -> call_user_func()
  -> ConsoleProcessus::execute()

Il controller corretto applica Component::cleanseConfig() alla condizione prima della creazione dell'oggetto.

Note

  • La documentazione CSRF di Craft richiede una sessione e un token validi per le azioni POST. Lo script li trasporta attraverso login e ricerca.
  • ConsoleProcessus::execute() di Psy effettua l'escaping dei metacaratteri della shell per impostazione predefinita. Il PoC serve uno script temporaneo per eseguire -c, riceve il suo output su un listener HTTP integrato e arresta il listener in seguito. Usa -H se il target non riesce a raggiungere l'indirizzo dedotto.
  • La cattura dell'output richiede sh, curl e mktemp sul target.
  • Test: python -m unittest discover -s tests -v.
Scarica lo strumento