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
CVE-2026-87796 — Pacchetto di riproduzione e script PoC per CVE-2026-87796, un RCE da caricamento arbitrario di file non autenticato in Multi Uploader for Gravity Forms <= 1.1.9, con un laboratorio Docker in loopback. | Kitploit
Strumenti/GitHubGitHub/abraxas/cve-2026-87796
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration TestingPaper e RicercaApprendimento e FormazioneSviluppo PayloadLab e Pratica
GitHubabraxas/cve-2026-87796

CVE-2026-87796

Pacchetto di riproduzione e script PoC per CVE-2026-87796, un RCE da caricamento arbitrario di file non autenticato in Multi Uploader for Gravity Forms <= 1.1.9, con un laboratorio Docker in loopback.

5h 7m faNon ancora revisionato
Vedi Repository

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

Abraxas Labs — CVE-2026-87796

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  CVE-2026-87796

CVE-2026-87796

Multi Uploader for Gravity Forms 1.1.9 — sh1zen

Il plugin Multi Uploader for Gravity Forms per WordPress è vulnerabile ad Arbitrary File Upload in tutte le versioni fino alla 1.1.9 inclusa tramite la funzione move_file. Ciò è dovuto a una validazione insufficiente del tipo di file durante la gestione dell'upload a chunk. Questo rende possibile per attaccanti non autenticati caricare file arbitrari sul server del sito interessato, il che può rendere possibile l'esecuzione di codice remoto.

CVECVE-2026-87796 · CVE.org
CWECWE-434
CVSSCritical: 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
ProductMulti Uploader for Gravity Forms
Affectedtutte le versioni fino alla 1.1.9 (inclusa)
Patchedpatch del vendor — vedi riferimenti
Authnessuna (vedi source map)
Labsolo 127.0.0.1 · pacchetto di disclosure per vendor/cliente, non uno scanner

Advisory (dalla source map)

L'advisory nomina move_file. Si tratta di un metodo PHP privato, non di un HTTP action=. L'HTTP action è gfmu-plupload-submit. Chunked vs non-chunked è REQUEST[chunks]>1. I nomi delle funzioni PHP non sono admin-ajax action=.


Entry

  • Method: POST
  • Path: /wp-admin/admin-ajax.php
  • Router: wp_ajax_nopriv_gfmu-plupload-submit → GFMUHandlePluploader::plupload_ajax_submit. Il campo nonce è REQUEST[nonce] per l'action gfmu-upload-nonce. Non inventare un ajax action diverso.
  • Notes: CVE-2026-87796: handleUpload a chunk (REQUEST chunks>1) copia il file assemblato con move_file PRIMA di validateUploadedFile. La modalità non-chunked valida prima. Senza un campo, enable_chunked è false e toBytes(ini 2M) < sizeLimit 10mb restituisce 'try activate chunking' prima di qualsiasi scrittura. Lo stub di lab RGFormsModel::get_field restituisce un campo multi-uploader con chunk_size=2mb così quel controllo viene saltato. Inviare currentFormID=1 e currentFieldID=1. Scoprire il nonce dalla pagina con slug gfmu-lab-nonce. Witness GET /wp-content/uploads/gfmu-uploads-tmp/poc_witness.php contiene POC_WITNESS_87796 (GIF89a + echo, non una shell). Due POST a chunk poi GET.

Call chain

  • POST /wp-admin/admin-ajax.php action=gfmu-plupload-submit (nopriv, GFMUAddon.class.php:125)
  • GFMUHandlePluploader::plupload_ajax_submit nonce gfmu-upload-nonce (GFMUHandlePluploader.class.php:257-262)
  • GFMU_FileUploader::handleUpload chunks&gt;1 (GFMU_FileUploader.php:231-319)
  • move_file copy then unlink tmp (GFMU_FileUploader.php:319, 545-560)
  • validateUploadedFile only AFTER the file is already at $target (322) — unlike non-chunked which validates first (375)
  • GET /wp-content/uploads/gfmu-uploads-tmp/&lt;name&gt; for POC_WITNESS_87796

Lab preconditions

  • WordPress con gf-multi-uploader 1.1.9 attivo
  • Stub GF mu-plugin di lab in modo che GFForms esista e l'AJAX nopriv si registri
  • Pagina pubblica con slug gfmu-lab-nonce con GFMU_NONCE= per uid 0
  • Non passare currentFormID (nessun form Gravity Forms reale)

Witness

L'HTTP GET del file caricato restituisce la stringa univoca POC_WITNESS_87796. JSON result=success più quel GET è SUCCESS. HTML del tema, admin-ajax 0, o Server error. nonce fail non è questo.

Not success

  • generico 200 hello world HTML
  • admin-ajax 400 body 0
  • result error / Server error. nonce
  • estensione non valida senza un file che comunque esegue il GET del witness
  • una reverse shell o connessione in uscita
  • caricare un jpg/png consentito che non è il sink di tipo arbitrario

Patch / remediation

Fai questo prima: Applica la patch del vendor per Multi Uploader for Gravity Forms. Vedi riferimenti.

Verifica dopo l'aggiornamento

  • Riesegui CVE-2026-87796-Abraxas-Labs.py contro la build corretta: il witness mappato non deve apparire.
  • Conferma l'advisory del vendor / il changeset nell'albero distribuito (vedi riferimenti).
  • Una firma WAF è un ritardo, non una patch.

Se non puoi aggiornare immediatamente

  • Disabilita o isola il componente interessato.
  • Cerca la condizione witness in produzione (nuovi utenti privilegiati, file inattesi, righe iniettate — qualunque cosa indichi la mappa di questa CVE).

Reproduction (lab autorizzato)

Target solo http://127.0.0.1:8088 (o il loopback su cui hai fatto il bind). Non puntare questo script verso internet.

root@kitploit:~
python3 CVE-2026-87796-Abraxas-Labs.py

Il successo è il witness sopra nel corpo della risposta. Un generico 200 HTML non è questo.


Lab images

Stack loopback usato per la riproduzione. Immagini ufficiali a meno che un Dockerfile in questa cartella non compili dal sorgente.

  • lab/docker-compose.yml
  • lab/docker-compose.override.yml
  • lab/Dockerfile
root@kitploit:~
cd lab
docker compose up --force-recreate

Collega l'albero del prodotto vulnerabile accanto a Compose se lo YAML monta una directory locale (zip del plugin / tag del sorgente dalla tabella delle versioni). Non pubblicare nulla tranne 127.0.0.1.


References

  • CVE-2026-87796 · NVD

  • CVE-2026-87796 · CVE.org

  • plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/GFMUAddon.class.php#L125

  • plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMUHandlePluploader.class.php#L257

  • plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L319

  • plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L322

  • plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L560

  • www.wordfence.com/threat-intel/vulnerabilities/id/47337bc1-fa3d-470c-9524-859295261017?source=cve

  • github.com/advisories/GHSA-h7vp-g8q2-89c8

  • nvd.nist.gov/vuln/detail/CVE-2026-87796

  • Plugin directory: gf-multi-uploader

  • Trac browser: plugins.trac.wordpress.org/gf-multi-uploader

  • SVN tags: plugins.svn.wordpress.org/gf-multi-uploader

  • Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null


Records (structured)

root@kitploit:~
# CVE-2026-87796  (structured records)

- input: `https://nvd.nist.gov/vuln/detail/CVE-2026-87796`
- CWE: CWE-434
- published: 2026-09-17T05:17:02.123

## NVD description

The Multi Uploader for Gravity Forms plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 1.1.9 via the move_file function. This is due to insufficient file type validation during chunked upload handling. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible.

## MITRE description

The Multi Uploader for Gravity Forms plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 1.1.9 via the move_file function. This is due to insufficient file type validation during chunked upload handling. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible.

## Affected

- sh1zen Multi Uploader for Gravity Forms 0 affected

## References (JSON sources only)

- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/GFMUAddon.class.php#L125
- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMUHandlePluploader.class.php#L257
- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L319
- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L322
- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L560
- https://www.wordfence.com/threat-intel/vulnerabilities/id/47337bc1-fa3d-470c-9524-859295261017?source=cve
- https://github.com/advisories/GHSA-h7vp-g8q2-89c8
- https://nvd.nist.gov/vuln/detail/CVE-2026-87796

## GitHub advisory

The Multi Uploader for Gravity Forms plugin for WordPress is vulnerable to Arbitrary File Upload...

The Multi Uploader for Gravity Forms plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 1.1.9 via the move_file function. This is due to insufficient file type validation during chunked upload handling. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible.

Disclaimer

Questo pacchetto è per il vendor, il proprietario del sito e i lab autorizzati. Lo script comunica con 127.0.0.1. Usarlo contro sistemi che non possiedi non è autorizzato da Abraxas Labs. Nessuna garanzia.

abraxaslabs.tech · github.com/abraxas · @abraxas_null

Scarica lo strumento