Fix GuideInjection

How to Fix CWE-89: SQL Injection

Verified by Precogs Threat Research

The application constructs SQL queries using untrusted input without proper parameterization, allowing attackers to manipulate database queries.

⚠️ Impact if Unpatched

Complete database compromise, data exfiltration, authentication bypass, data modification or deletion.

Step-by-Step Remediation

  1. Use parameterized queries (prepared statements) for ALL database interactions
  2. Use an ORM (Sequelize, Prisma, SQLAlchemy) instead of raw SQL
  3. Apply least-privilege database permissions
  4. Validate and whitelist expected input formats
  5. Enable WAF rules for SQL injection patterns

Code Example

❌ Vulnerable

# VULNERABLE: String concatenation
query = f"SELECT * FROM users WHERE id = {user_id}"

✅ Fixed

# SAFE: Parameterized query
cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))

Don't just patch one instance.

Scan your entire codebase for all instances of SQL Injection.

Scan for Free with Precogs AI →

Recent Vulnerabilities (CWE-89)

84 vulnerabilities in our database match SQL Injection.

View all 84 vulnerabilities →