Skip to main content
COSMICBYTEZLABS
NewsSecurityHOWTOsToolsStudyTraining
ProjectsChecklistsAI RankingsNewsletterStatusTagsAbout
Subscribe

Press Enter to search or Esc to close

News
Security
HOWTOs
Tools
Study
Training
Projects
Checklists
AI Rankings
Newsletter
Status
Tags
About
RSS Feed
Reading List
Subscribe

Stay in the Loop

Get the latest security alerts, tutorials, and tech insights delivered to your inbox.

Subscribe NowFree forever. No spam.
COSMICBYTEZLABS

Your trusted source for IT intelligence, cybersecurity insights, and hands-on technical guides.

790+ Articles
120+ Guides

CONTENT

  • Latest News
  • Security Alerts
  • HOWTOs
  • Projects
  • Exam Prep

RESOURCES

  • Search
  • Browse Tags
  • Newsletter Archive
  • Reading List
  • RSS Feed

COMPANY

  • About Us
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CosmicBytez Labs. All rights reserved.

System Status: Operational
  1. Home
  2. Security
  3. CVE-2026-41478: Saltcorn SQL Injection Allows Full Database Compromise (CVSS 9.9)
CVE-2026-41478: Saltcorn SQL Injection Allows Full Database Compromise (CVSS 9.9)

Critical Security Alert

This vulnerability is actively being exploited. Immediate action is recommended.

SECURITYCRITICALCVE-2026-41478

CVE-2026-41478: Saltcorn SQL Injection Allows Full Database Compromise (CVSS 9.9)

A critical SQL injection vulnerability in Saltcorn's mobile-sync routes allows any authenticated low-privilege user with read access to a single table to inject arbitrary SQL and escalate privileges to full database control. Versions before 1.4.6 and 1.5.6 are affected.

Dylan H.

Security Team

April 25, 2026
6 min read

Affected Products

  • Saltcorn < 1.4.6
  • Saltcorn < 1.5.6
  • Saltcorn < 1.6.0-beta.5

Executive Summary

A critical SQL injection vulnerability (CVE-2026-41478) has been discovered in Saltcorn, an open-source no-code database application builder. The flaw carries a CVSS score of 9.9 — the highest possible for an authenticated vulnerability — and is classified as CWE-89: Improper Neutralization of Special Elements Used in an SQL Command.

The vulnerability exists in Saltcorn's mobile-sync routes and can be exploited by any authenticated user with read access to at least one table. A low-privilege attacker can inject arbitrary SQL to read, modify, or delete any data in the underlying database — including admin credentials — effectively achieving full application compromise.

Versions before 1.4.6, 1.5.6, and 1.6.0-beta.5 are affected. Administrators should update immediately.


Vulnerability Overview

AttributeValue
CVE IDCVE-2026-41478
CVSS Score9.9 (Critical)
CWECWE-89 — SQL Injection
TypeSQL Injection / Privilege Escalation
Attack VectorNetwork
Attack ComplexityLow
Privileges RequiredLow (any authenticated user)
User InteractionNone
ScopeChanged
Confidentiality ImpactHigh
Integrity ImpactHigh
Availability ImpactHigh
Patch AvailableYes — 1.4.6, 1.5.6, 1.6.0-beta.5
NVD StatusPublished 2026-04-24

Affected Versions

ProductAffected VersionsFixed Version
Saltcorn (stable)All versions before 1.4.61.4.6
Saltcorn (stable)All versions before 1.5.61.5.6
Saltcorn (beta)All versions before 1.6.0-beta.51.6.0-beta.5

Technical Analysis

Root Cause

Saltcorn's mobile-sync feature enables mobile app clients to synchronize table data with the server. The sync routes accept table and field identifiers from the client request and incorporate them directly into SQL queries without adequate parameterization or sanitization.

An attacker with a valid session (even the lowest-privilege user account) can send a crafted sync request with SQL-injected table or field names, causing the server to execute arbitrary SQL on the underlying database.

Attack Flow

1. Attacker has any valid Saltcorn account with read access to one table
2. Attacker sends a crafted POST request to the mobile-sync endpoint
3. The injected payload embeds additional SQL clauses in the query
4. Saltcorn's database driver executes the combined query without restriction
5. Attacker reads: all user records, credentials, admin password hashes
6. Attacker writes: create new admin account, modify existing records
7. Attacker achieves full application takeover

Example Injection Pattern

-- Legitimate sync query (simplified)
SELECT * FROM "user_table" WHERE id = ?
 
-- With SQL injection via table name parameter
SELECT * FROM "user_table" UNION SELECT id, email, password FROM "_sc_users"--

Why CVSS 9.9

The near-maximum score reflects:

MetricValueReason
Low privilegePR:LOnly requires a basic user account — no admin needed
No user interactionUI:NFully server-side exploitation
Changed scopeS:CImpact extends beyond the attacker's own data to all database contents
Full C/I/A impactH/H/HComplete read/write/delete access to all database tables

Saltcorn is used by organizations to build internal business applications, potentially storing sensitive employee data, customer records, financial information, and application credentials.


Impact Assessment

Impact AreaDescription
Full Database ExfiltrationAll tables, including admin credentials and sensitive records
Admin Account CompromisePassword hashes (or plaintext if stored) of all users including admins
Data ManipulationCreate, modify, or delete any record across any table
Authentication BypassCreate new admin accounts for persistent access
Application TakeoverFull control of the Saltcorn instance and all hosted applications
Lateral MovementDatabase credentials may grant access to other systems

Immediate Remediation

Step 1: Update Saltcorn

# npm global installation
npm update -g @saltcorn/cli
 
# Verify version
saltcorn --version
# Expected: 1.4.6, 1.5.6, or 1.6.0-beta.5+
 
# Docker-based deployments
docker pull saltcorn/saltcorn:latest
docker-compose up -d
 
# Check installed version in package.json
cat node_modules/@saltcorn/db-common/package.json | grep '"version"'

Step 2: Temporary Mitigation (If Immediate Update Is Not Possible)

If mobile sync is not required, disable it at the network or application level:

# Block mobile-sync routes via reverse proxy (nginx example)
location /api/mobile_sync {
    return 403;
}
 
# Or restrict to trusted IP ranges only
location /api/mobile_sync {
    allow 192.168.1.0/24;
    deny all;
}

Step 3: Audit for Compromise

-- Check for unexpected admin users created recently
SELECT email, role_id, created_at FROM users
WHERE role_id = 1
ORDER BY created_at DESC;
 
-- Look for anomalous data access patterns in Saltcorn logs
SELECT * FROM _sc_event_log
WHERE action LIKE '%sync%'
ORDER BY created_at DESC
LIMIT 100;

Step 4: Reset Credentials

After patching, reset all user passwords — particularly admin accounts — as hashes may have been exfiltrated:

# Via Saltcorn CLI
saltcorn reset-schema --force
# Then recreate admin user
 
# Or reset specific password
saltcorn set-admin-password --email admin@example.com --password <new-strong-password>

Detection Indicators

IndicatorDescription
Unusual payloads in mobile-sync API logsSQL keywords (UNION, SELECT, FROM) in sync request bodies
New admin user accounts created unexpectedlyPost-exploitation persistence via account creation
Database query errors in application logsError-based SQL injection attempts
Unexpected data exports or large response payloadsSuccessful data exfiltration via injection
Access to sync endpoint from unexpected IP addressesExternal exploitation attempts

Post-Remediation Checklist

  1. Update Saltcorn to 1.4.6, 1.5.6, or 1.6.0-beta.5 immediately
  2. Audit admin and user accounts for unauthorized additions
  3. Reset all user passwords, especially admin credentials
  4. Review mobile-sync access logs for injection indicators
  5. Restrict mobile-sync endpoint access if not needed
  6. Enable WAF rules to detect SQL injection patterns in request bodies
  7. Rotate database credentials if the database is shared with other services
  8. Verify all application data for unauthorized modifications

References

  • NVD — CVE-2026-41478
  • Saltcorn GitHub Repository
  • Saltcorn Security Advisories
#CVE-2026-41478#Saltcorn#SQL Injection#CWE-89#No-Code#Database#Privilege Escalation#Open Source

Related Articles

CVE-2026-41167: Jellystat Authenticated SQL Injection in Multiple API Endpoints (CVSS 9.1)

A critical SQL injection vulnerability in Jellystat, the open-source statistics app for Jellyfin, allows authenticated users to execute arbitrary SQL queries by injecting unsanitized request-body fields directly into raw SQL strings via POST /api/getUserDetails and other endpoints. Fixed in version 1.1.10.

4 min read

CVE-2026-6595: SQL Injection in ProjectsAndPrograms School Management System

A medium-severity SQL injection vulnerability has been disclosed in ProjectsAndPrograms School Management System, allowing remote attackers to manipulate database queries via the bus_id parameter in buslocation.php.

4 min read

CVE-2026-40285: WeGIA SQL Injection via PHP extract() Session Override (CVSS 8.8)

A high-severity SQL injection vulnerability in WeGIA, a web manager for charitable institutions, allows authenticated attackers to escalate privileges by...

4 min read
Back to all Security Alerts