opennds — security advisory
In openNDS before 11.0.0, the client_params.sh script, invoked by the openNDS daemon to serve the authenticated client status page, is vulnerable to OS command injection through crafted HTTP GET query parameter keys. An authenticated captive portal user can inject arbitrary shell commands by embedding semicolons in a URL query parameter name.
- Products
- opennds
- Affected versions
- 10.2.0+dfsg-1, 10.2.0+dfsg-1build1, 10.2.0+dfsg-1build2, 10.2.0+dfsg-1ubuntu0.24.04.1~esm1, 10.3.1+dfsg-1, 10.3.1+dfsg-1build1, 9.10.0-1
- Fixed versions
- Not specified
- CVEs
- CVE-2026-38822
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 03:02 UTC · Revision 1
Source evidence
In openNDS before 11.0.0, the client_params.sh script, invoked by the openNDS daemon to serve the authenticated client status page, is vulnerable to OS command injection through crafted HTTP GET query parameter keys. An authenticated captive portal user can inject arbitrary shell commands by embedding semicolons in a URL query parameter name.
osv:UBUNTU-CVE-2026-38822
opennds
Fixed versions: Not specified
opennds
Fixed versions: Not specified
opennds
Fixed versions: Not specified
Complete source record
{
"id": "12b7ed6bc11236a3eabfca55fb231fdf0534d64c990898749676921d2d43ebf4",
"url": "https://osv.dev/vulnerability/UBUNTU-CVE-2026-38822",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "UBUNTU-CVE-2026-38822",
"summary": "In openNDS before 11.0.0, the client_params.sh script, invoked by the openNDS daemon to serve the authenticated client status page, is vulnerable to OS command injection through crafted HTTP GET query parameter keys. An authenticated captive portal user can inject arbitrary shell commands by embedding semicolons in a URL query parameter name.",
"evidence": "osv:UBUNTU-CVE-2026-38822",
"products": [
{
"name": {
"value": "opennds",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "9.10.0-1",
"evidence": "/affected/0/versions"
},
{
"value": "10.2.0+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "10.2.0+dfsg-1build1",
"evidence": "/affected/0/versions"
},
{
"value": "10.2.0+dfsg-1build2",
"evidence": "/affected/0/versions"
},
{
"value": "10.2.0+dfsg-1ubuntu0.24.04.1~esm1",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "opennds",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "10.3.1+dfsg-1build1",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "opennds",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "10.3.1+dfsg-1",
"evidence": "/affected/2/versions"
},
{
"value": "10.3.1+dfsg-1build1",
"evidence": "/affected/2/versions"
}
]
}
],
"severity": "high",
"structured": {
"id": "UBUNTU-CVE-2026-38822",
"aliases": [
"UBUNTU-CVE-2026-38822"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L"
},
{
"type": "Ubuntu",
"score": "medium"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "opennds",
"purl": "pkg:deb/ubuntu/opennds?arch=source&distro=esm-apps%2Fnoble",
"ecosystem": "Ubuntu:Pro:24.04:LTS"
},
"versions": [
"9.10.0-1",
"10.2.0+dfsg-1",
"10.2.0+dfsg-1build1",
"10.2.0+dfsg-1build2",
"10.2.0+dfsg-1ubuntu0.24.04.1~esm1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-38822.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "opennds",
"binary_version": "10.2.0+dfsg-1ubuntu0.24.04.1~esm1"
},
{
"binary_name": "opennds-daemon",
"binary_version": "10.2.0+dfsg-1ubuntu0.24.04.1~esm1"
},
{
"binary_name": "opennds-daemon-common",
"binary_version": "10.2.0+dfsg-1ubuntu0.24.04.1~esm1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "opennds",
"purl": "pkg:deb/ubuntu/opennds?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"versions": [
"10.3.1+dfsg-1build1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-38822.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "opennds",
"binary_version": "10.3.1+dfsg-1build1"
},
{
"binary_name": "opennds-daemon",
"binary_version": "10.3.1+dfsg-1build1"
},
{
"binary_name": "opennds-daemon-common",
"binary_version": "10.3.1+dfsg-1build1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "opennds",
"purl": "pkg:deb/ubuntu/opennds?arch=source&distro=resolute",
"ecosystem": "Ubuntu:26.04:LTS"
},
"versions": [
"10.3.1+dfsg-1",
"10.3.1+dfsg-1build1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-38822.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "opennds",
"binary_version": "10.3.1+dfsg-1build1"
},
{
"binary_name": "opennds-daemon",
"binary_version": "10.3.1+dfsg-1build1"
},
{
"binary_name": "opennds-daemon-common",
"binary_version": "10.3.1+dfsg-1build1"
}
]
}
}
],
"modified": "2026-10-17T13:00:03.071278423Z",
"provider": "osv",
"upstream": [
"CVE-2026-38822"
],
"references": [
"https://ubuntu.com/security/CVE-2026-38822",
"https://www.cve.org/CVERecord?id=CVE-2026-38822",
"https://github.com/openNDS/openNDS/commit/294983e859bb678eef7db06fc9f6afab0b489d8e"
]
},
"related_cves": [
{
"value": "CVE-2026-38822",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 360197,
"published_at": "2026-08-28T02:16:00+00:00"
}