Skip to main content

ApostropheCMS EUVDEUVD-2026-105217

| CVE-2026-113667 MEDIUM
Improper Encoding or Escaping of Output (CWE-116)
2026-10-20 GitHub_M GHSA-44qr-rrjg-2cqq
5.3
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Submit crafted response token to public form/login
  2. Exploit
    Smuggle extra parameters into siteverify request
  3. Execution
    Corrupt reCAPTCHA/hCaptcha verification call
  4. Impact
    Disrupt CAPTCHA-gated login or form flow

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding for downstream
Exploitation Conditions

The target must run a vulnerable ApostropheCMS CAPTCHA integration - the Form add-on < 1.5.5, login-recaptcha < 1.2.1, or login-hcaptcha < 1.3.0 - with reCAPTCHA or hCaptcha actually configured and enabled on a form or the login page. No authentication or user interaction is required to reach the vulnerable sink: an attacker simply supplies a crafted 'response' token in the normal submission. Limiting factors: the site must have one of these specific add-ons installed and CAPTCHA enabled (not a core/default ApostropheCMS deployment), and the achievable outcome is limited to disrupting the CAPTCHA gate and automated bypass probing - the vendor confirms no secret disclosure and no proven CAPTCHA bypass.

Impact

This is a genuinely low-priority, high-noise issue despite the network-reachable vector. The input provides only a CVSS 4.0 vector (5.3, AV:N/AC:L/AT:N/PR:L/UI:N with uniformly Low VC/VI/VA); no EPSS score and no CISA KEV entry were supplied, so there is no evidence of active exploitation - only the vendor-published PoC in the GHSA advisory demonstrating the parameter-smuggling primitive. The vendor itself is explicit that the real impact is bounded: a crafted token can only inject extra key=value pairs into the outbound reCAPTCHA/hCaptcha verify call, forcing verification failures (a DoS of the CAPTCHA gate and CAPTCHA-gated login/form flows) and enabling automated bypass probing, with 'no secret exfiltration' and no established CAPTCHA bypass. Note a signal conflict: the vendor CVSS uses PR:L (implying authentication) but the affected features - the public Form add-on and the login-page reCAPTCHA/hCaptcha integrations - are reached by anonymous users, so exploitation is realistically unauthenticated (PR:N); the Low integrity/confidentiality impacts in the vendor vector are also debatable since the only concrete effect is availability of the CAPTCHA gate. The 'Authentication Bypass' tag overstates the issue: the advisory states a successful bypass is NOT established. Net: real but minor - patch on a normal cycle, not as an emergency.

Exploit ScenarioDerived

An unauthenticated attacker submits a crafted CAPTCHA response token (e.g. 'attacker_token&secret=INJECTED&something=1') to an ApostropheCMS form or login endpoint running a vulnerable CAPTCHA add-on. Because the token is interpolated unencoded into the provider verification URL/body, the smuggled parameters corrupt the siteverify request and force verification to fail, disrupting the CAPTCHA-gated flow; the vendor advisory includes a working PoC of this injection, though it does not achieve a true CAPTCHA bypass or secret disclosure. Given AV:N/AC:L, this probing is trivially automatable at scale.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 20, 2026

Improperly encoded CAPTCHA response tokens let remote attackers disrupt reCAPTCHA and hCaptcha verification in ApostropheCMS deployments that run the Form add-on before 1.5.5, login-recaptcha before 1.2.1, or login-hcaptcha before 1.3.0. Submitting a token containing '&' plus extra key=value pairs injects parameters into the server-side siteverify request, forcing verification failures that break CAPTCHA-gated forms and logins and enabling automated bypass probing; the vendor assessment confirms no secret disclosure and no proven CAPTCHA bypass. No public exploit has been identified at time of analysis, and CISA KEV or EPSS data does not elevate this above a low-priority, denial-of-service-style nuisance for sites that have a vulnerable add-on installed with CAPTCHA actively enabled.

RemediationAI

Vendor-released patch: upgrade @apostrophecms/form to 1.5.5, @apostrophecms/login-recaptcha to 1.2.1, and @apostrophecms/login-hcaptcha to 1.3.0 (release tag https://github.com/apostrophecms/apostrophe/releases/tag/@apostrophecms/form@1.5.5, advisory https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-44qr-rrjg-2cqq, fixes in commits 9500b8b0e1d630d5e07fbb5fd2c25ed0943845ce and f84fd41cbf6c22eb8d0008fc9c25df1f7130b350). Because these are separate npm add-ons rather than core dependencies, verify each package actually present in the project lockfile and update it explicitly rather than assuming a core CMS bump covers it, then re-run a CAPTCHA submission to confirm the patch is loaded. If an upgrade cannot be scheduled immediately, apply a compensating control at the edge: reject or strip submitted CAPTCHA response tokens that do not match ^[A-Za-z0-9._-]{1,2048}$ using a reverse-proxy or WAF rewrite rule on the form and login POST bodies (trade-off: a small risk of false rejections if a provider ever changes its token alphabet), or, if CAPTCHA-gated login and form submissions are not business-critical, temporarily disable the CAPTCHA requirement on those routes (trade-off: the endpoints lose their bot and credential-stuffing barrier entirely, so pair this with rate limiting and IP reputation filtering). Rate-limiting the affected POST endpoints does not fix the injection but reduces the value of automated bypass probing.

Affected VersionsENISA

Apostrophe < 4.33.0
login-recaptcha < 1.2.1
login-hcaptcha < 1.3.0
form < 1.5.5

Affected Packages

npm @apostrophecms/form fix: 1.5.5
npm @apostrophecms/login-hcaptcha fix: 1.3.0
npm @apostrophecms/login-recaptcha fix: 1.2.1
euvd apostrophe fix: 4.33.0
euvd form fix: 1.5.5
euvd login_hcaptcha fix: 1.3.0
euvd login_recaptcha fix: 1.2.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 7 packages in npm, euvd

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

Technical ContextAI · show details

The flaw is CWE-116 (Improper Encoding or Escaping of Output) applied to a server-side HTTP request rather than to rendered HTML. All three affected packages are Node.js/ApostropheCMS add-ons that build the provider verification call by string interpolation of untrusted input into a URL or form body: packages/form/lib/recaptcha.js line 39 interpolates into 'https://www.google.com/recaptcha/api/siteverify?secret=${recaptchaSecret}&response=${input.recaptcha}', packages/login-recaptcha/index.js line 44 repeats the pattern for login, and packages/login-hcaptcha/index.js line 47 places 'response=${token}&secret=${secret}' into the request body. Because the token is never percent-encoded, an attacker who supplies a value such as 'attacker_token&secret=INJECTED_SECRET&something=1' causes duplicate or overwritten query/body parameters in the outbound request to Google or hCaptcha, which reliably causes verification to fail and can be used to probe for bypass behaviour. The upstream advisory and both patch commits replace naive interpolation with WHATWG URL plus searchParams (or explicit encodeURIComponent on both secret and response) and add a token whitelist of ^[A-Za-z0-9._-]{1,2048}$ before use. The CPE data set spans the Apostrophe core entry (cpe:2.3:a:apostrophecms:apostrophe) alongside the three discrete npm packages, but the actual vulnerable sink lives in the add-ons, not the core CMS; exploitation therefore requires a site that has opted into one of these CAPTCHA integrations. The assessed CVSS:3.1 vector AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L matches the observable behaviour: unauthenticated, network-reachable, no confidentiality or integrity impact, only a low availability effect on the CAPTCHA gate itself.

Know when Apostrophecms 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 (GitHub_M) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
vuln.today AI 5.3 MEDIUM

Anonymous users reach the public form/login CAPTCHA endpoints so PR:N and UI:N; the only established effect is disruption of the CAPTCHA gate (A:L), with no proven confidentiality or integrity impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

1
Patch available
Oct 20, 2026 - 19:03 EUVD

DescriptionCVE.org

ApostropheCMS is an open-source Node.js content management system. Prior to 1.5.5 of the Form add-on, 1.2.1 of login-recaptcha, and 1.3.0 of login-hcaptcha, these three CAPTCHA integrations interpolate an unencoded user-supplied response token into the provider verification request. Crafted tokens can smuggle request parameters and disrupt CAPTCHA verification and CAPTCHA-gated form or login flows; automated bypass probing is possible, but a successful CAPTCHA bypass or secret disclosure is not established. This issue is fixed in Form 1.5.5, login-recaptcha 1.2.1, and login-hcaptcha 1.3.0.

Threat Intelligence Overview

EPSS Score
0.4%
Top 72% exploitable
Prevalence
Low
niche open-source Node.js CMS with limited CAPTCHA add-on adoption
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
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.

CVE-2026-63669 MEDIUM POC
6.5 Aug 17

Integrity bypass in ApostropheCMS page management allows authenticated low-privileged editors to move pages into restric

CVE-2026-63670 MEDIUM POC
6.1 Aug 17

Stored cross-site scripting in ApostropheCMS prior to 2.17.6 enables execution of arbitrary JavaScript in victim browser

CVE-2014-125128 MEDIUM POC
6.1 Sep 08

'sanitize-html' prior to version 1.0.3 is vulnerable to Cross-site Scripting (XSS). Rated medium severity (CVSS 6.1), th

CVE-2019-25225 MEDIUM POC
6.1 Sep 08

`sanitize-html` prior to version 2.0.0-beta is vulnerable to Cross-site Scripting (XSS). Rated medium severity (CVSS 6.1

CVE-2021-25979 CRITICAL
9.8 Nov 08

Apostrophe CMS versions prior to 3.3.1 did not invalidate existing login sessions when disabling a user account or chang

CVE-2026-84371 MEDIUM POC
5.4 Sep 01

Stored XSS in sanitize-html versions 1.9.0 through 2.17.6 allows authenticated low-privileged users to inject executable

CVE-2024-21501 MEDIUM POC
5.3 Feb 24

Versions of the package sanitize-html before 2.12.1 are vulnerable to Information Exposure when used on the backend and

CVE-2021-26540 MEDIUM POC
5.3 Feb 08

Apostrophe Technologies sanitize-html before 2.3.2 does not properly validate the hostnames set by the "allowedIframeHos

CVE-2021-26539 MEDIUM POC
5.3 Feb 08

Apostrophe Technologies sanitize-html before 2.3.1 does not properly handle internationalized domain name (IDN) which co

CVE-2026-53609 CRITICAL
9.1 Jun 12

Prototype pollution in ApostropheCMS versions up to and including 4.30.0 allows an authenticated editor to poison Object

CVE-2026-53608 HIGH
8.7 Jun 12

Stored cross-site scripting in the @apostrophecms/seo plugin (versions ≤1.4.2) allows any user holding the default edito

CVE-2026-35569 HIGH
8.7 Apr 15

Stored cross-site scripting in ApostropheCMS SEO fields permits an authenticated attacker to inject arbitrary JavaScript

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