Skip to main content

Cesanta Mongoose EUVDEUVD-2026-25662

| CVE-2026-6986 LOW
Improper Verification of Cryptographic Signature (CWE-347)
2026-04-25 VulDB
2.9
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Intercept encrypted message using GCM
  2. Delivery
    Analyze plaintext structure from POC
  3. Exploit
    Craft modified ciphertext with forged tag
  4. Execution
    Transmit forged authenticated message
  5. Persist
    Application decrypts and accepts without tag verification
  6. Impact
    Attacker-controlled data injected into decrypted stream

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Signature verification
Exploitation Conditions

Remote network access to a service using Cesanta Mongoose 7.20 or earlier is required, specifically to applications that rely on GCM-mode encryption (typically in TLS 1.2+ cipher suites like AES-GCM). The attacker must be able to intercept and modify encrypted traffic (on-path attacker position) or have direct access to the encrypted data stream. No authentication is required to attempt the attack. The attack is limited by high cryptographic complexity - the attacker cannot simply flip arbitrary bits; they must either use the publicly available POC or possess cryptographic knowledge to craft valid forged authentication tags. Additionally, not all Mongoose deployments may use GCM encryption; applications using only GCM-incompatible cipher suites or non-TLS encryption are unaffected.

Impact

This vulnerability presents moderate real-world risk despite the low CVSS score of 3.7. The CVSS vector (AV:N/AC:H/PR:N/UI:N) confirms remote, unauthenticated attack surface but with high complexity. The E:P (exploit proof-of-concept) and RL:O (official fix) modifiers indicate public exploit code and vendor patch availability, lowering urgency but not eliminating it. The integrity-only impact (I:L, no C or A) means attackers cannot decrypt data or cause denial of service - they can only inject forged or manipulated messages into encrypted streams. However, in applications using Mongoose's TLS implementation for authentication or integrity verification (JWT tokens, API message signing, secure boot verification), this transforms into business logic compromise. The high attack complexity is a significant limiting factor - this is not a trivial remote exploit suitable for mass scanning. Organizations with Mongoose deployments should prioritize patching only if the library is used for cryptographic authentication in Internet-facing services; internal/air-gapped deployments present lower risk. Publicly available POC increases likelihood of weaponization by sophisticated attackers.

Exploit ScenarioDerived

An attacker intercepts encrypted traffic (TLS records or encrypted messages) protected by Mongoose 7.20's GCM implementation. Using the publicly available POC, the attacker crafts a modified ciphertext with a forged authentication tag that passes the flawed verification in mg_aes_gcm_decrypt. The modified plaintext (e.g., a JWT token with elevated privileges, or a command in an encrypted protocol) is accepted by the application as genuine, allowing injection of arbitrary authenticated messages without possession of the encryption key.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Apr 25, 2026

Improper verification of cryptographic signatures in Cesanta Mongoose versions up to 7.20 allows remote attackers to bypass GCM authentication tag validation in the mg_aes_gcm_decrypt function. The vulnerability has high attack complexity and requires no user interaction, but provides only integrity impact (not confidentiality or availability). Publicly available exploit code exists, and vendor has released patched version 7.21.

RemediationAI

Immediately upgrade Cesanta Mongoose to version 7.21 or later, which includes the fix for improper GCM authentication tag verification. The patch is officially released by the vendor at https://github.com/cesanta/mongoose/releases/tag/7.21. If immediate upgrade is not possible, disable GCM-based encryption in Mongoose configuration and use only authenticated encryption modes where the authentication tag validation is independently verified. However, this workaround reduces cryptographic robustness and is not recommended as a long-term solution. Review any messages encrypted with Mongoose 7.20 or earlier using GCM mode for potential tampering, especially authentication tokens (JWT) and critical integrity-sensitive payloads, as attackers may have forged authenticated ciphertexts.

Affected VersionsENISA

Mongoose 7.16
Mongoose 7.18
Mongoose 7.7
Mongoose 7.1
Mongoose 7.20
Mongoose 7.9
Mongoose 7.14
Mongoose 7.13
Mongoose 7.4
Mongoose 7.2
Mongoose 7.11
Mongoose 7.0
Mongoose 7.3
Mongoose 7.6
Mongoose 7.17
Mongoose 7.10
Mongoose 7.5
Mongoose 7.8
Mongoose 7.12
Mongoose 7.19
Mongoose 7.15

Affected Packages

euvd mongoose 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 vulnerability resides in the GCM (Galois/Counter Mode) Authentication Tag Handler within the AES-128 cryptographic implementation (file src/tls_aes128.c). GCM mode provides both confidentiality and authenticity guarantees through authenticated encryption. The root cause (CWE-347: Improper Verification of Cryptographic Signature) indicates that the mg_aes_gcm_decrypt function fails to properly validate the authentication tag, which is the 16-byte cryptographic proof that ciphertext has not been tampered with. This allows an attacker to submit forged or modified ciphertext that decrypts successfully without detection of tampering, breaking the authenticity guarantee that GCM is supposed to provide. The high attack complexity reflects that crafting valid forged messages requires cryptographic sophistication or reverse-engineering the implementation.

Know when Mongoose 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 (VulDB) PRIMARY 2.9 LOW
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P

Primary rating from Vendor (VulDB) · only source for this CVE.

CVSS VectorVendor: VulDB

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

Lifecycle Timeline

7
PoC Detected
Apr 29, 2026 - 19:00 vuln.today
Public exploit code
Severity Changed
Apr 29, 2026 - 01:12 NVD
MEDIUM LOW
CVSS changed
Apr 29, 2026 - 01:12 NVD
6.3 (MEDIUM) 2.9 (LOW)
Severity Changed
Apr 25, 2026 - 17:22 NVD
LOW MEDIUM
CVSS changed
Apr 25, 2026 - 17:22 NVD
3.7 (LOW) 6.3 (MEDIUM)
Patch released
Apr 25, 2026 - 17:00 nvd
Patch available
CVE Published
Apr 25, 2026 - 16:30 nvd
LOW 2.9

DescriptionCVE.org

A security vulnerability has been detected in Cesanta Mongoose up to 7.20. This issue affects the function mg_aes_gcm_decrypt of the file /src/tls_aes128.c of the component GCM Authentication Tag Handler. Such manipulation leads to improper verification of cryptographic signature. The attack may be performed from remote. A high complexity level is associated with this attack. The exploitability is assessed as difficult. The exploit has been disclosed publicly and may be used. Upgrading to version 7.21 is capable of addressing this issue. It is advisable to upgrade the affected component. VulDB has contacted the vendor early and they confirmed quickly, that this issue got fixed already.

Threat Intelligence Overview

EPSS Score
0.0%
Top 97% exploitable
Exploit
POC
Public exploit code exists
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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 LOW
CISA KEV No
Public POC Yes
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2025-23061 CRITICAL POC
9.0 Jan 15

Mongoose ODM for Node.js before version 8.9.5 contains a search injection vulnerability when using $where filters with p

CVE-2017-2894 CRITICAL POC
9.8 Nov 07

An exploitable stack buffer overflow vulnerability exists in the MQTT packet parsing functionality of Cesanta Mongoose 6

CVE-2017-2891 CRITICAL POC
9.8 Nov 07

An exploitable use-after-free vulnerability exists in the HTTP server implementation of Cesanta Mongoose 6.8. Rated crit

CVE-2017-2922 CRITICAL POC
9.8 Nov 07

An exploitable memory corruption vulnerability exists in the Websocket protocol implementation of Cesanta Mongoose 6.8.

CVE-2017-2921 CRITICAL POC
9.8 Nov 07

An exploitable memory corruption vulnerability exists in the Websocket protocol implementation of Cesanta Mongoose 6.8.

CVE-2023-3696 CRITICAL POC
9.8 Jul 17

Prototype Pollution in GitHub repository automattic/mongoose prior to 7.3.4. Rated critical severity (CVSS 9.8), this vu

CVE-2022-2564 CRITICAL POC
9.8 Jul 28

Prototype Pollution in GitHub repository automattic/mongoose prior to 6.4.6. Rated critical severity (CVSS 9.8), this vu

CVE-2019-19307 CRITICAL POC
9.8 Nov 26

An integer overflow in parse_mqtt in mongoose.c in Cesanta Mongoose 6.16 allows an attacker to achieve remote DoS (infin

CVE-2024-53900 CRITICAL POC
9.1 Dec 02

Mongoose before 8.8.3 can improperly use $where in match, leading to search injection. Rated critical severity (CVSS 9.1

CVE-2021-26530 CRITICAL POC
9.1 Feb 08

The mg_tls_init function in Cesanta Mongoose HTTPS server 7.0 (compiled with OpenSSL support) is vulnerable to remote OO

CVE-2021-26529 CRITICAL POC
9.1 Feb 08

The mg_tls_init function in Cesanta Mongoose HTTPS server 7.0 and 6.7-6.18 (compiled with mbedTLS support) is vulnerable

CVE-2021-26528 CRITICAL POC
9.1 Feb 08

The mg_http_serve_file function in Cesanta Mongoose HTTP server 7.0 is vulnerable to remote OOB write attack via connect

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