Read the docs
TI-2026-28729 Aliases CVE-2026-39847GHSA-pr46-2v3c-5356

Emmett has a path traversal in internal assets handler

Priority MEDIUM 48CWE-22Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
High · None · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.

Summary

Emmett is a full-stack Python web framework designed with simplicity. From 2.5.0 to before 2.8.1, the RSGI static handler for Emmett's internal assets (/__emmett__ paths) is vulnerable to path traversal attacks. An attacker can use ../ sequences (eg /__emmett__/../rsgi/handlers.py) to read arbitrary files outside the assets directory. This vulnerability is fixed in 2.8.1.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00514 44th percentileScored 2026-11-07
Fix Fixed emmett (emmett-framework): 2.8.1emmett (PyPI): 2.8.1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
emmett-frameworkemmett2.5.0 to before 2.8.12.8.1Patch availableCNA
—emmett (PyPI)2.5.0 to before 2.8.12.8.1Patch availableGHSA-pr46-2v3c-5356
  • emmett Vendoremmett-framework Affected 2.5.0 to before 2.8.1 Fixed in 2.8.1 Patch available CNA
  • emmett (PyPI) Vendor— Affected 2.5.0 to before 2.8.1 Fixed in 2.8.1 Patch available GHSA-pr46-2v3c-5356

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:emmett:emmett:*:*:*:*:*:*:*:*2.5.0 to before 2.8.1VulnerableEmmett
  • cpe:2.3:a:emmett:emmett:*:*:*:*:*:*:*:* Versions 2.5.0 to before 2.8.1 Vulnerable ·Emmett

Remediation

  • Fix · CNA emmett (emmett-framework) Fixed in 2.8.1
  • Fix · GHSA-pr46-2v3c-5356 emmett (PyPI) Fixed in 2.8.1 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-39847
  2. 2026-10-03 Alias added: GHSA-pr46-2v3c-5356

References

  • TI-2026-30824 Granian: Unauthenticated DoS via WebSocket subprotocol header panic CVSS 3.1HIGH 7.5
  • TI-2026-20684 Emmett has an Unhandled CookieError Exception Causing Denial of Service CVSS 3.1HIGH 7.5
  • TI-2026-30825 Granian: DoS via WSGI response header panic CVSS 3.1MEDIUM 5.9

Sources