Critical Severity
Published: Nov 6, 2026

[GitHub] frappe-erpnext-2026-pocs

Rce
Type
N/A
CVSS Score
1
Views
Anonymous
Author

Description

Proof-of-concept exploits for seven Frappe Framework and ERPNext vulnerabilities reported in July 2026: unauthenticated file disclosure, guest OAuth stored XSS to RCE, Web Form authorisation bypasses, and bulk-update GET CSRF.

# Frappe and ERPNext security research

Proof-of-concept clients for seven issues reported to Frappe on 29 July 2026,
found by source-first review of Frappe Framework 16.29.0 and ERPNext 16.30.0.

## Contents

| Directory | Issues | Writeup |
|---|---|---|
| [frappe01-email-file-read](frappe01-email-file-read/) | Unauthenticated local file disclosure through email inline expansion | [Writeup](https://cryptocat.me/blog/research/analysis/frappe_email_file_disclosure/) |
| [frappe02-03-04-oauth-jinja-chain](frappe02-03-04-oauth-jinja-chain/) | Guest OAuth stored XSS, Genericode filename traversal, safe-Jinja file write | [Writeup](https://cryptocat.me/blog/research/analysis/frappe_oauth_jinja_rce_chain/) |
| [frappe05-07-web-form-authorization](frappe05-07-web-form-authorization/) | Unpublished Web Form RPC access, Web Form protected-field bypass | [Writeup](https://cryptocat.me/blog/research/analysis/frappe_web_form_authorization/) |
| [frappe06-04-bulk-update-csrf](frappe06-04-bulk-update-csrf/) | State-changing bulk-update GET CSRF | [Writeup](https://cryptocat.me/blog/research/analysis/frappe_bulk_update_csrf_rce/) |

`FRAPPE-01` through `FRAPPE-07` are my own report identifiers from the
disclosure. They are not Frappe advisory numbers.

## Status

Two of the seven have security advisories and CVEs: [GHSA-8v98-cfpm-9p67](https://github.com/frappe/frappe/security/advisories/GHSA-8v98-cfpm-9p67) and [CVE-2026-109601](https://nvd.nist.gov/vuln/detail/CVE-2026-109601) for the email file read (FRAPPE-01), and [GHSA-9pp9-wgp9-3p3j](https://github.com/frappe/frappe/security/advisories/GHSA-9pp9-wgp9-3p3j) and [CVE-2026-119145](https://nvd.nist.gov/vuln/detail/CVE-2026-119145) for the Genericode traversal (FRAPPE-03). The OAuth stored XSS (FRAPPE-02) still has no fix on any stable release. Fix status per issue is in each writeup and in every client's `--help`.

## Running the PoCs

There are eleven clients across the four directories. Each directory has its own
README list

Community Rating
0

Login to rate this exploit

Quick Actions