Skip to main content

WeRSS EUVDEUVD-2026-102978

| CVE-2026-111687 CRITICAL
Eval Injection (CWE-95)
2026-10-16 VulnCheck GHSA-hp95-p2ww-6rvc
9.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Send crafted GET to public /rss/{feed_id}
  2. Exploit
    Supply non-built-in ext and {{=expression}} template
  3. Execution
    Bypass eval denylist via object-subclass traversal
  4. Impact
    Execute OS commands as service account

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Eval input sanitization
MITRE ATT&CK

1 technique across 1 tactic: Execution

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

Exploitation Conditions

No special conditions beyond the product being reachable - remote unauthenticated exploitation against the public GET /rss/{feed_id} endpoint of we-mp-rss through 1.5.3. The attacker must supply a template parameter containing a non-built-in ext value together with a {{=expression}} payload whose object-subclass traversal bypasses the eval denylist to reach OS command execution. Limiting factors: the target must be running we-mp-rss version 1.5.3 or earlier with the /rss endpoint network-accessible to the attacker; no authentication, user interaction, or non-default configuration is required, so the practical barrier is low. Impact is bounded by the privileges of the service account running the application.

Impact

This is a genuine high-priority vulnerability, not a high-CVSS-but-low-real-risk case. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes the worst-case profile for exploitability: fully remote, low complexity, no authentication, and no user interaction, with high confidentiality, integrity, and availability impact (VC:H/VI:H/VA:H) - consistent with unauthenticated remote code execution. The affected endpoint (GET /rss/{feed_id}) is explicitly public, which supports the PR:N rating. A detailed public technical writeup exists (hackmd) describing the object-subclass traversal that bypasses the eval denylist, so publicly available exploit details exist, materially lowering the barrier to weaponization. Against these aggravating signals, the mitigating factor is footprint: we-mp-rss is a niche open-source self-hosted WeChat-MP-to-RSS tool, so widespread opportunistic exploitation is less likely than for mainstream software. Key gaps: no EPSS score was provided in the input, and this CVE is NOT on CISA KEV, so there is no evidence of confirmed active exploitation - risk is driven by ease of exploitation and public POC details, not by observed in-the-wild attacks. Anyone running we-mp-rss ≤1.5.3 with a reachable /rss endpoint should treat this as urgent.

Exploit ScenarioDerived

An attacker locates an internet-exposed we-mp-rss instance (≤1.5.3) and sends a single crafted GET request to the public /rss/{feed_id} endpoint, supplying a malicious template parameter. Because a public technical writeup (hackmd) documents the exact object-subclass traversal that evades the eval denylist, the attacker can reliably execute OS commands as the service account without any credentials or user interaction. This yields immediate remote code execution and a foothold on the host.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet

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

Alert me

AnalysisAIv1 – Oct 16, 2026

Unauthenticated remote code execution in WeRSS (we-mp-rss) through 1.5.3 allows any attacker who can reach the public GET /rss/{feed_id} endpoint to run arbitrary OS commands as the service account. The flaw is a server-side template injection (CWE-95) in the template parser: by supplying a non-built-in ext value together with a {{=expression}} template, an attacker uses object-subclass traversal to bypass the eval denylist and reach command execution, with no authentication, user interaction, or non-default configuration required. Reported CVSS is 9.3 (CVSS 4.0, AV:N/AC:L/AT:N/PR:N/UI:N) and our independent assessment confirms remote, unauthenticated exploitation with high confidentiality, integrity and availability impact, rating this a genuine high-priority vulnerability rather than a high-CVSS-but-low-real-risk case; no public exploit code was identified at time of analysis, though a public technical writeup of the exploitation chain and a VulnCheck advisory are referenced.

RemediationAI

No vendor-released patch was identified at time of analysis: the available references are advisory and source-code links pointing at the vulnerable v1.5.3 code rather than a fixed release or upstream fix commit, so no patched version number can be cited. Until an official fix is published, the highest-value control is to stop untrusted access to the vulnerable route - place the service behind a reverse proxy or WAF rule that denies or restricts GET /rss/{feed_id} (and any request carrying a template or non-built-in ext parameter) from external networks, at the cost of breaking public feed consumption for those callers. If feeds must stay public, front the endpoint with authentication/allowlisting so only trusted subscribers can invoke it, accepting that generic feed readers may no longer work. Because the root cause is an eval denylist bypass, tightening the denylist in core/lax/template_parser.py is not a reliable fix on its own; if you must patch in place, replace dynamic evaluation of the template expression with a strict parser that rejects __class__, __bases__, __subclasses__, __globals__ and attribute-chaining entirely and only permits a fixed allowlist of built-in extensions, which will disable legitimate custom templates. Additionally, run we-mp-rss under a dedicated unprivileged service account in a container with a read-only filesystem, no host mounts, and restricted outbound egress - this does not prevent the initial template injection but bounds the blast radius of any command execution to that account's privileges. Monitor the VulnCheck advisory (https://www.vulncheck.com/advisories/werss-we-mp-rss-through-1.5.3-rce-via-template-parameter-in-rss-endpoint) and the upstream repository for a fixed release, and treat any unexpected child process spawned by the web service as a compromise indicator.

Affected VersionsENISA

we-mp-rss 0 ≤1.5.3

Affected Packages

euvd we_mp_rss 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

The issue is an eval-injection / server-side template injection class flaw (CWE-95, 'Improper Neutralization of Directives in Dynamically Evaluated Code') in WeRSS, a Python-based service that generates RSS feeds from WeChat public-account content. The vulnerable code path is the template handling in core/lax/template_parser.py (lines 1150-1166 of the v1.5.3 source tree), reached from the public GET /rss/{feed_id} route implemented in apis/rss.py (lines 185-198). The parser accepts an ext parameter that selects a template extension/parser; when the supplied ext value is not one of the built-in extensions, attacker-controlled template source is compiled and evaluated. The {{=expression}} directive is meant to interpolate a computed value, but because the expression is evaluated rather than sandboxed, an attacker can chain Python object introspection - walking __class__/__bases__/__subclasses__ (object-subclass traversal) - to reach dangerous callables such as os.system, thereby turning template evaluation into OS command execution. The eval denylist the project applies is insufficient: it filters known-bad tokens but not the reflection path that reconstructs those primitives at runtime, which is the direct root cause of the bypass. The CPE cpe:2.3:a:rachelos:we-mp-rss:*:*:*:*:*:*:*:* uses a wildcard version, so the definitive affected bound comes from the vendor/VulnCheck statement of 'through 1.5.3'.

Know when Ssti 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 9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 9.8 CRITICAL

Public unauthenticated endpoint reachable over the network with a single request (AV:N/AC:L/PR:N/UI:N); arbitrary OS command execution as the service account yields full C/I/A impact without scope change.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/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
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

WeRSS (we-mp-rss) through 1.5.3 contains a remote code execution vulnerability that allows unauthenticated attackers to run code via the template parameter of the public GET /rss/{feed_id} endpoint. Attackers can supply a non-built-in ext value and a {{=expression}} template whose object-subclass traversal bypasses the eval denylist to run OS commands as the service account.

Executive ViewAI

Why It Matters

WeRSS (we-mp-rss) versions through 1.5.3 contain a critical unauthenticated remote code execution vulnerability that allows any attacker who can reach the service to execute arbitrary operating system commands as the service account. This flaw affects all deployments of the affected versions, and because no vendor patch is currently available, organizations are exposed to potential full system compromise, data theft, and service disruption. Leadership should prioritize immediate mitigation efforts, as exploitation requires no authentication and could be launched by any external actor with network access to the service.

Business Impact: Severe
Compensating Controls

Restrict network access to the /rss/{feed_id} endpoint to trusted sources, disable the WeRSS service if not required, deploy WAF rules to block malicious template expressions, and monitor logs for command execution attempts. Consider isolating the service in a segmented network with limited permissions.

Threat Intelligence Overview

Prevalence
Low
niche open-source self-hosted WeChat-MP RSS tool, limited enterprise footprint
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org Vulnrichment GitHub

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 CRITICAL
CISA KEV No
Public POC No
EPSS N/A
Patch available No
Active threat No
Deciding rule
CRITICAL severity
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
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

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

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

More in Ssti

View all
CVE-2024-23692 CRITICAL POC
9.8 May 31

Rejetto HTTP File Server, up to and including version 2.3m, is vulnerable to a template injection vulnerability. Rated c

CVE-2025-47916 CRITICAL POC
10.0 May 16

Invision Community 5.0.0 through 5.0.6 contains an unauthenticated remote code execution vulnerability in the template e

CVE-2024-6386 CRITICAL POC
9.9 Aug 21

Remote code execution in the WPML WordPress multilingual plugin (versions up to and including 4.6.12) allows Contributor

CVE-2026-75650 CRITICAL POC
10.0 Sep 07

Server-side template injection in Adobe Commerce, Adobe Commerce B2B, and Magento Open Source allows remote unauthentica

CVE-2026-39980 CRITICAL POC
9.1 Apr 09

Server-Side Template Injection in OpenCTI notifier templates allows privileged administrators with 'Manage customization

CVE-2026-97359 CRITICAL POC
10.0 Sep 24

Unauthenticated remote code execution in Rejetto HFS2 (HTTP File Server) through version 2.4.0 lets an attacker execute

CVE-2025-23211 CRITICAL POC
9.9 Jan 28

Tandoor Recipes is an application for managing recipes, planning meals, and building shopping lists. Rated critical seve

CVE-2024-32651 CRITICAL POC
10.0 Apr 26

changedetection.io is an open source web page change detection, website watcher, restock monitor and notification servic

CVE-2024-4040 CRITICAL POC
10.0 Apr 22

A server side template injection vulnerability in CrushFTP in all versions before 10.7.1 and 11.1.0 on all platforms all

CVE-2026-15734 CRITICAL POC
9.8 Aug 06

Remote code execution in WGDashboard 4.3.2 and earlier lets authenticated attackers inject Server-Side Template Injectio

CVE-2024-24724 CRITICAL POC
9.8 Apr 03

Gibbon through 26.0.00 allows /modules/School%20Admin/messengerSettings.php Server Side Template Injection leading to Re

CVE-2026-77136 CRITICAL POC
9.5 Aug 25

Server-side template injection in the TYPO3 'Powermail' extension lets an anonymous user submit Fluid template syntax th

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