
CVE-2026-87796에 대한 재현 패키지 및 PoC 스크립트로, Multi Uploader for Gravity Forms <= 1.1.9의 인증되지 않은 임의 파일 업로드 RCE 취약점이며, 루프백 Docker 랩을 포함합니다.
abraxaslabs.tech · github.com/abraxas · @abraxas_null · CVE-2026-87796
Multi Uploader for Gravity Forms 1.1.9 — sh1zen
WordPress용 Multi Uploader for Gravity Forms 플러그인은 move_file 함수를 통해 1.1.9 이하 모든 버전에서 임의 파일 업로드(Arbitrary File Upload) 취약점에 노출되어 있습니다. 이는 청크 업로드 처리 중 파일 형식 검증이 불충분하기 때문입니다. 이로 인해 인증되지 않은 공격자가 영향을 받는 사이트의 서버에 임의 파일을 업로드할 수 있으며, 이는 원격 코드 실행으로 이어질 수 있습니다.
| CVE | CVE-2026-87796 · CVE.org |
| CWE | CWE-434 |
| CVSS | Critical: 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Product | Multi Uploader for Gravity Forms |
| Affected | 1.1.9 이하 모든 버전 (포함) |
| Patched | 벤더 패치 — 참고 문헌 참조 |
| Auth | 없음 (소스 맵 참조) |
| Lab | 127.0.0.1 전용 · 벤더/클라이언트 공개 패키지, 스캐너 아님 |
권고문은 move_file을 지목합니다. 이는 HTTP action=이 아니라 private PHP 메서드입니다. HTTP action은 gfmu-plupload-submit입니다. 청크 여부는 REQUEST[chunks]>1로 구분됩니다. PHP 함수 이름은 admin-ajax action=이 아닙니다.
POST/wp-admin/admin-ajax.phpPOST /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>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/<name> for POC_WITNESS_87796업로드된 파일에 대한 HTTP GET이 고유 문자열 POC_WITNESS_87796을 반환합니다. JSON result=success와 해당 GET이 SUCCESS입니다. 테마 HTML, admin-ajax 0, 또는 Server error는 아닙니다. nonce 실패도 아닙니다.
먼저 이것을 하십시오: Multi Uploader for Gravity Forms에 대한 벤더 패치를 적용하십시오. 참고 문헌을 보십시오.
업그레이드 후 검증
CVE-2026-87796-Abraxas-Labs.py를 다시 실행하십시오: 매핑된 witness가 나타나지 않아야 합니다.즉시 업데이트할 수 없는 경우
오직 http://127.0.0.1:8088 (또는 바인딩한 루프백)만 대상으로 하십시오. 이 스크립트를 인터넷을 향해 지정하지 마십시오.
python3 CVE-2026-87796-Abraxas-Labs.py
성공은 응답 본문에 위의 witness가 있는 것입니다. 일반적인 200 HTML은 아닙니다.
재현에 사용된 루프백 스택. 이 폴더의 Dockerfile이 소스에서 빌드하지 않는 한 공식 이미지입니다.
cd lab
docker compose up --force-recreate
YAML이 로컬 디렉터리를 마운트하는 경우 (버전 표의 플러그인 zip / 소스 태그) Compose 옆에 취약한 제품 트리를 바인딩하십시오. 127.0.0.1 외에는 아무것도 게시하지 마십시오.
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/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
플러그인 디렉터리: gf-multi-uploader
Trac 브라우저: plugins.trac.wordpress.org/gf-multi-uploader
Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null
# 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.
이 패키지는 벤더, 사이트 소유자, 라이선스된 Lab을 위한 것입니다. 스크립트는 127.0.0.1과 통신합니다. 소유하지 않은 시스템에 사용하는 것은 Abraxas Labs에 의해 승인되지 않습니다. 보증 없음.