CVE-2021-43091

7.5 HIGH

📋 TL;DR

This SQL injection vulnerability in Yeswiki Doryphore allows attackers to execute arbitrary SQL commands through the email parameter in the registration form. This affects all users running vulnerable versions of Yeswiki Doryphore, potentially leading to data theft, authentication bypass, or complete system compromise.

💻 Affected Systems

Products:
  • Yeswiki Doryphore
Versions: 20211012 and earlier versions
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: All installations with registration functionality enabled are vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including data exfiltration, authentication bypass, privilege escalation, and potential remote code execution via database functions.

🟠

Likely Case

Data extraction from the database, including user credentials, personal information, and potentially administrative access to the wiki.

🟢

If Mitigated

Attack fails due to proper input validation and parameterized queries, resulting in no impact.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

SQL injection via registration form requires no authentication and has public proof-of-concept available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after commit c9785f9a92744c3475f9676a0d8f95de24750094

Vendor Advisory: https://github.com/yeswiki/yeswiki/commit/c9785f9a92744c3475f9676a0d8f95de24750094

Restart Required: No

Instructions:

1. Update Yeswiki Doryphore to the latest version. 2. Apply the specific patch from commit c9785f9a92744c3475f9676a0d8f95de24750094. 3. Verify the fix by testing the registration form with SQL injection payloads.

🔧 Temporary Workarounds

Disable Registration

all

Temporarily disable user registration functionality to prevent exploitation.

Modify configuration to disable registration form

WAF Rule

all

Implement web application firewall rules to block SQL injection patterns in email parameters.

Add WAF rule: Block requests with SQL keywords in email parameter

🧯 If You Can't Patch

  • Implement input validation to reject email addresses containing SQL special characters
  • Deploy a web application firewall with SQL injection detection rules

🔍 How to Verify

Check if Vulnerable:

Test the registration form with SQL injection payloads like ' OR '1'='1 in the email field and observe database errors or unexpected behavior.

Check Version:

Check the Yeswiki version in the administration panel or review the commit hash in the installation directory.

Verify Fix Applied:

After patching, attempt the same SQL injection tests and verify they are rejected or properly sanitized without database errors.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL errors in application logs
  • Multiple failed registration attempts with special characters
  • Registration attempts from unusual IP addresses

Network Indicators:

  • HTTP POST requests to registration endpoint containing SQL keywords in parameters
  • Abnormal database query patterns

SIEM Query:

source="web_logs" AND uri="/register" AND (email="*OR*" OR email="*UNION*" OR email="*SELECT*" OR email="*INSERT*")

🔗 References

📤 Share & Export