Skip to main content

Marmite EUVDEUVD-2026-89111

| CVE-2026-102811 HIGH
Missing Authentication for Critical Function (CWE-306)
2026-09-29 VulnCheck GHSA-j4pw-7rqh-x2mj
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach dev server on 0.0.0.0:8000
  2. Delivery
    Send unauthenticated request to /__marmite__/ endpoint
  3. Exploit
    Inject traversal path in create/clone content
  4. Execution
    Write file outside project directory
  5. Impact
    Overwrite site content and config

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires the target to be running Marmite's optional built-in server via the --serve flag AND that server being network-reachable. Pre-0.4.3 the server defaulted to binding 0.0.0.0:8000 (all interfaces), so exposure was the default whenever --serve ran on a routable/LAN host; the /__marmite__/content, /__marmite__/config, and /__marmite__/file/ endpoints then need no authentication and no user interaction. Exploitation is LIMITED by the fact that this is a development-only preview server not intended for production, so production static sites (served by Nginx/Apache) are unaffected; the 0.4.3 fix further limits exposure by defaulting the bind to 127.0.0.1:8000 (loopback-only), requiring an explicit --bind 0.0.0.0:8000 to reintroduce network reach.

Impact

The vendor CVSS 4.0 score of 8.7 (AV:N/AC:L/AT:N/PR:N/UI:N with VI:H, all other impacts N) reflects an unauthenticated, low-complexity network write primitive: the /__marmite__/content, /__marmite__/config, and /__marmite__/file/ endpoints of Marmite's built-in server require no authentication (CWE-306), and unsanitized path parameters in handle_create_content/handle_clone_content permit directory traversal to write files outside the project directory. The integrity-only impact rating is appropriate - the flaw is fundamentally a file-write/content-overwrite issue, not data theft or a crash. The critical mitigating context, confirmed by the patch diff, is that this is explicitly a DEVELOPMENT-only preview/editor server: the real-world risk hinges entirely on network exposure. Pre-patch the default bind was 0.0.0.0:8000 (all interfaces), so a developer running --serve on a routable or LAN-reachable host was exposed by default; the fix changes the default to 127.0.0.1:8000 and relabels the server as not-for-production. No EPSS score, CISA KEV listing, or public POC is present in the provided data, so there is no signal of active or automated exploitation - this is a high-CVSS finding whose practical risk is bounded by the requirement that a non-production dev server be network-reachable. Because affected users are developers rather than production servers, treat this as medium priority: patch or restrict binding, but it is not a mass-exploitation-class internet-facing flaw.

Exploit ScenarioDerived

A developer runs marmite --serve on a laptop or shared build host, which pre-patch binds to 0.0.0.0:8000 and is reachable over the LAN or an exposed port. An unauthenticated attacker on the same network POSTs to /__marmite__/content or /__marmite__/file/ with a traversal path (e.g. ../../) to overwrite site content, configuration, or files outside the project directory. No public exploit was identified at time of analysis, but the endpoints are trivially reachable given AV:N/AC:L/PR:N.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.7% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 29, 2026

Unauthenticated content and configuration tampering in Marmite's optional built-in development server (all versions through 0.4.2) lets any network-reachable attacker create, modify, or overwrite site content and configuration by posting to the /__marmite__/content, /__marmite__/config, and /__marmite__/file/ endpoints, with no credentials or user interaction required. The same handlers pass unsanitized path parameters from handle_create_content and handle_clone_content into filesystem writes, so an attacker can traverse out of the project directory and drop or clobber files elsewhere on the host. Exploitation requires the target to be running --serve and reachable over the network - pre-0.4.3 the server bound to 0.0.0.0:8000 by default, and production static sites served by Nginx or Apache are unaffected; no public exploit code was identified at time of analysis, and the vendor released 0.4.3 to fix the issue (loopback-by-default binding plus a documented development-only posture).

RemediationAI

Upgrade to Marmite 0.4.3 or later - the vendor-released patch is published as commit 303a0bf2fff4302f4164c0c39932fdffc6683ad4 and documented in the upstream issue https://github.com/rochacbruno/marmite/issues/554; 0.4.3 changes the built-in server's default bind to 127.0.0.1:8000 and its port-conflict fallback to preserve the requested interface rather than binding 0.0.0.0, which removes network reachability by default. If upgrading is not immediately possible, do not run --serve on any host with a routable or untrusted network path: on 0.4.2 and earlier the default is 0.0.0.0:8000, so explicitly pass --bind 127.0.0.1:8000 to force loopback-only exposure (trade-off: previews are no longer shareable with colleagues on the LAN) and note that loopback binding does not protect against other local users on a shared or multi-tenant host. Alternatively, block or firewall TCP port 8000 so only trusted administrative networks can reach it, or terminate access behind a reverse proxy that enforces authentication - both add operational complexity and, if misconfigured, can still leave the unauthenticated API reachable. The cleanest compensating control for production use is to stop running the editor server entirely and serve only the generated static output via Nginx or Apache, which eliminates the vulnerable code path with no functional loss for published sites; the VulnCheck advisory at https://www.vulncheck.com/advisories/marmite-through-0.4.2-unauthenticated-api-access-via-development-server can be used for tracking and detection guidance.

Affected VersionsENISA

marmite 0 ≤0.4.2

Affected Packages

euvd marmite no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Marmite (rochacbruno/marmite) is a Rust static site generator whose optional --serve mode spins up a built-in preview and in-browser editor HTTP server. The root cause class is CWE-306, Missing Authentication for Critical Function: the editor API surface under the /__marmite__/ prefix - /__marmite__/content, /__marmite__/config, and /__marmite__/file/ - was exposed with no authentication or authorization check at all, so any client that could reach the port could invoke content and configuration mutation routines. Compounding this, the handle_create_content and handle_clone_content handlers in src/content.rs (see the referenced source lines 1064-1075 and 1300-1322, and src/server.rs 455-475) passed attacker-controlled path parameters into file writes without sanitization, enabling classic directory traversal that escapes the project root. The affected CPE is cpe:2.3:a:rochacbruno:marmite:*:*:*:*:*:*:*:* (wildcard, i.e., all releases through 0.4.2). The 0.4.3 fix (commit 303a0bf2fff4302f4164c0c39932fdffc6683ad4) re-labels the server as development-only in the CLI and docs, changes the default bind from 0.0.0.0:8000 to 127.0.0.1:8000, and replaces the all-interface fallback address with a same-interface OS-assigned port, so that a port conflict no longer silently widens exposure to 0.0.0.0.

Know when Marmite gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Unauthenticated network endpoints (PR:N/AV:N/AC:L) allow arbitrary file write/overwrite via traversal (I:H); no confidentiality or availability impact is established, so C:N/A:N.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Marmite through 0.4.2 contains missing authentication in the development server endpoints /__marmite__/content, /__marmite__/config, and /__marmite__/file/, allowing unauthenticated attackers to create, modify, and overwrite site content and configuration. Attackers can exploit unsanitized path parameters in handle_create_content and handle_clone_content to write files outside the project directory via directory traversal.

Executive ViewAI

Why It Matters

Marmite's optional built-in development server, in all versions through 0.4.2, permits any party able to reach it over the network to create, alter, or overwrite website content and configuration, and to write files outside the project directory onto the host. Exposure is limited to teams that run the server with the --serve option, which previously listened on all network interfaces by default, so developer workstations and staging hosts are the primary concern rather than production static sites behind Nginx or Apache. Leadership should care because an attacker who reaches an exposed development server can corrupt published material and plant files on the underlying system, undermining both content integrity and host trust.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.7%
Top 50% exploitable
Prevalence
Low
niche open-source Rust static-site generator, no enterprise footprint
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.7%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

45
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy