Netmaker has a boolean‑based SQL Injection
# SQL Injection in Netmaker SQLite Database Backend ## Summary The `sqliteDeleteRecord` function in Netmaker's database layer constructs SQL `DELETE` statements using direct string concatenation of user-supplied input. This allows an authenticated attacker to perform **boolean-based SQL injection**. --- ## Details The endpoint: DELETE /api/dns/{network}/{domain} passes user-controlled path parameters through the following flow: logic.DeleteDNS → database.DeleteRecord → sqliteDeleteRecord Depending on the configured database backend, the request eventually reaches the SQLite database implementation. ### Vulnerable Code The SQL query is constructed using direct string concatenation without parameterization. ```go // database/sqlite.go deleteSQL := "DELETE FROM " + tableName + " WHERE key = \"" + key + "\"" The key value originates from user input ({domain} path parameter) and is embedded directly into the SQL query. Exploitation An authenticated attacker can inject SQL operators into the {domain} path parameter to manipulate the query logic. Because this injection is boolean-based, attackers extract data indirectly by observing the outcome of the operation: If the injected condition evaluates true, the DNS record is deleted. If the condition evaluates false, the DNS record remains. By repeating this process, an attacker can infer information such as: Database table names Column names Column values Value lengths Impact An authenticated attacker can exploit this vulnerability to
GO-2026-6485
Revision 1
Netmaker has a boolean‑based SQL Injection in github.com/gravitl/netmaker
Netmaker has a boolean‑based SQL Injection in github.com/gravitl/netmaker
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: osv:GO-2026-6485
github.com/gravitl/netmaker
Source reference: /affected/0/package/name
- Affected versions
- Not stated in this record
- Fixed versions
- 1.5.0
Source reference:
/affected/0/ranges - Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "1.5.0"
}
]
}
],
"package": {
"name": "github.com/gravitl/netmaker",
"purl": "pkg:golang/github.com/gravitl/netmaker",
"ecosystem": "Go"
},
"database_specific": {
"source": "https://vuln.go.dev/ID/GO-2026-6485.json"
},
"ecosystem_specific": {}
}
]- Related CVEs
- CVE-2026-32599
Source reference:
/aliases
Publisher severity
No explicit severity was provided.
- Event
- #23349 · Revision 1
- Added to Heist Feed
- Publisher date
GHSA-r8cr-4f9w-7r75
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: osv:GHSA-r8cr-4f9w-7r75
github.com/gravitl/netmaker
Source reference: /affected/0/package/name
- Affected versions
- Not stated in this record
- Fixed versions
- 1.5.0
Source reference:
/affected/0/ranges - Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "1.5.0"
}
]
}
],
"package": {
"name": "github.com/gravitl/netmaker",
"purl": "pkg:golang/github.com/gravitl/netmaker",
"ecosystem": "Go"
},
"database_specific": {
"source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-r8cr-4f9w-7r75/GHSA-r8cr-4f9w-7r75.json"
}
}
]- Related CVEs
- CVE-2026-32599
Source reference:
/aliases
Publisher severity
No explicit severity was provided.
- Event
- #23410 · Revision 1
- Added to Heist Feed
- Publisher date