Skip to main content
COSMICBYTEZLABS
NewsSecurityHOWTOsToolsTraining
StudyProjectsNewsletterHire MeAbout
Subscribe

Press Enter to search or Esc to close

News
Security
HOWTOs
Tools
Training
Study
Projects
Newsletter
Hire Me
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.

2710+ Articles
165+ Guides

CONTENT

  • Latest News
  • Security Alerts
  • HOWTOs
  • Checklists
  • 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. Unauthenticated SQL Injection Hits SourceCodester Online Voting System
Unauthenticated SQL Injection Hits SourceCodester Online Voting System
SECURITYHIGHCVE-2026-86290

Unauthenticated SQL Injection Hits SourceCodester Online Voting System

CVE-2026-86290: an unauthenticated SQL injection in SourceCodester's Online Voting System via ajax.php's Category parameter, PoC public.

Dylan H.

Security Team

September 8, 2026
3 min read

Affected Products

  • SourceCodester Online Voting System 1.0

Executive Summary

A SQL injection vulnerability, CVE-2026-86290, has been disclosed in SourceCodester Online Voting System 1.0. The flaw lives in /voting/ajax.php?action=save_category, where the Category parameter is passed into a database query without sanitization. The vulnerability is remotely exploitable, requires no authentication, and a public exploit is already available.

CVSS 3.1 Score: 7.3 (High)


Vulnerability Overview

AttributeValue
CVE IDCVE-2026-86290
CVSS 3.1 Score7.3 (High)
CVSS 4.0 Score6.9 (Medium)
TypeSQL Injection (CWE-89)
Attack VectorNetwork — remote, unauthenticated
Affected Endpoint/voting/ajax.php?action=save_category
Affected ParameterCategory
Exploit AvailabilityPublic exploit published on GitHub
AssignerVulDB

Affected Versions

ProductAffected VersionsFixed Version
SourceCodester Online Voting System1.0None available

No vendor patch currently exists for this product.


Technical Details

The save_category action within ajax.php accepts a Category value and concatenates it directly into an SQL statement without parameterization or escaping. Because the endpoint enforces no session or authentication check, any remote, unauthenticated visitor can reach it directly.

1. Attacker sends a crafted request to
   /voting/ajax.php?action=save_category with a malicious
   Category parameter
2. No authentication or session cookie is required to reach
   the endpoint
3. The unsanitized value is concatenated directly into the
   backing SQL query
4. A crafted payload allows extraction, modification, or
   deletion of database contents

Exploitation is rated as easy by VulDB, with technical details and a working proof-of-concept exploit already publicly available.

Impact of Successful Exploitation

ImpactDescription
Data ExfiltrationDump voter, candidate, and administrator records from the underlying database
Data TamperingInsert, modify, or delete voting categories and related records
Election IntegrityManipulate category or ballot data used by the voting workflow
Credential ExposureRecovered database credentials could be reused against other systems

Mitigation

  1. Restrict access to /voting/ajax.php at the web server or firewall level until a fix is available.
  2. Rewrite the query behind the save_category action to use prepared statements with bound parameters instead of string concatenation.
  3. Enforce authentication on all ajax.php actions that modify data — save_category currently accepts unauthenticated requests.
  4. Validate the Category input server-side, rejecting unexpected characters and enforcing type/length constraints.
  5. Apply WAF rules to catch common SQLi patterns (UNION SELECT, OR 1=1, quote-based probing) targeting this endpoint.
  6. Minimize database account privileges for the web application to limit the blast radius of a successful injection.

This disclosure follows a broader pattern of SQL injection issues surfacing across SourceCodester products in recent weeks, including a related but distinct flaw in the same vendor's Class and Exam Timetabling System. Administrators running any SourceCodester PHP application should treat unauthenticated ajax.php endpoints as unaudited and likely vulnerable until proven otherwise.


Detection Indicators

IndicatorDescription
Requests to /voting/ajax.php?action=save_category without a valid sessionAuthentication-bypass or injection probing
Quote characters, UNION SELECT, or OR 1=1 in the Category parameter of logged requestsInjection attempt
Unexpected changes to voting category recordsPossible successful exploitation

References

  • NIST NVD — CVE-2026-86290
  • VulDB — CVE-2026-86290
  • OffSeq Threat Radar — CVE-2026-86290

Related Reading

  • Third SourceCodester Timetabling SQLi Hits the Admin Product Form
  • Second SQL Injection Hits SourceCodester Timetabling System
#CVE#SQL Injection#SourceCodester#Web Security#CVE-2026-86290

Related Articles

SQL Injection in SourceCodester Online Voting System Risks Election Data

An unauthenticated SQL injection in SourceCodester's Online Voting System lets attackers manipulate voter, admin, and configuration records.

4 min read

Second SQL Injection Hits SourceCodester Timetabling System

CVE-2026-86209: SourceCodester's Class and Exam Timetabling System 1.0 has a second unauthenticated SQLi, this time in delete_user.php.

4 min read

SQL Injection in SourceCodester Class & Exam Timetabling System

CVE-2026-86208: an unauthenticated SQL injection in delete_teacher.php lets remote attackers manipulate the ID parameter. Public exploit code exists.

4 min read
Back to all Security Alerts