Network UPS Tools: A PWN Request in make-dist workflow can execute PR-controlled code with write-scoped GITHUB_TOKEN
Network UPS Tools is a collection of programs which provide a common interface for monitoring and administering UPS, PDU and SCD hardware. Prior to commits 658b24e and 1aa31d1, the GitHub Actions script used to prepare NUT tarballs and update GitHub Checks statuses and PR comments about it was mis-structured in terms of mixing code running with higher privileges (single-use token generated with write permissions) and untrusted inputs (PR source branch). A malicious PR run from a fork could extract the GITHUB_TOKEN value. It could potentially be abused while it was valid (while the GHA job ran) to manipulate Git repository contents, commit checks/statuses, or issue/PR comments, according to permissions it was issued with. This issue has been patched via commits 658b24e and 1aa31d1.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-54160
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 2 Nov 2026, 19:26 UTC · Revision 1
Source evidence
Network UPS Tools: A PWN Request in make-dist workflow can execute PR-controlled code with write-scoped GITHUB_TOKEN
core-osv · Original sourcePublished 28 Sept 2026, 16:35 UTC
Network UPS Tools is a collection of programs which provide a common interface for monitoring and administering UPS, PDU and SCD hardware. Prior to commits 658b24e and 1aa31d1, the GitHub Actions script used to prepare NUT tarballs and update GitHub Checks statuses and PR comments about it was mis-structured in terms of mixing code running with higher privileges (single-use token generated with write permissions) and untrusted inputs (PR source branch). A malicious PR run from a fork could extract the GITHUB_TOKEN value. It could potentially be abused while it was valid (while the GHA job ran) to manipulate Git repository contents, commit checks/statuses, or issue/PR comments, according to permissions it was issued with. This issue has been patched via commits 658b24e and 1aa31d1.
osv:CVE-2026-54160
Complete source record
{
"id": "59e54e022c46ce74baaa84401d1ff4fce68f33ed7bea4bbd09bd76ad8a09b11f",
"url": "https://osv.dev/vulnerability/CVE-2026-54160",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Network UPS Tools: A PWN Request in make-dist workflow can execute PR-controlled code with write-scoped GITHUB_TOKEN",
"summary": "Network UPS Tools is a collection of programs which provide a common interface for monitoring and administering UPS, PDU and SCD hardware. Prior to commits 658b24e and 1aa31d1, the GitHub Actions script used to prepare NUT tarballs and update GitHub Checks statuses and PR comments about it was mis-structured in terms of mixing code running with higher privileges (single-use token generated with write permissions) and untrusted inputs (PR source branch). A malicious PR run from a fork could extract the GITHUB_TOKEN value. It could potentially be abused while it was valid (while the GHA job ran) to manipulate Git repository contents, commit checks/statuses, or issue/PR comments, according to permissions it was issued with. This issue has been patched via commits 658b24e and 1aa31d1.",
"evidence": "osv:CVE-2026-54160",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-54160",
"aliases": [
"CVE-2026-54160",
"GHSA-w6wj-3r73-fxmh"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:L"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/networkupstools/nut",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "658b24ef8410648ceca6d5a59e8690efbc8c36bc"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "658b24ef8410648ceca6d5a59e8690efbc8c36bc"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "658b24ef8410648ceca6d5a59e8690efbc8c36bc"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"v2.8.5",
"v2.8.5-rc8",
"v2.8.5-rc7",
"v2.8.5-rc6",
"v2.8.5-rc5",
"v2.8.5-rc4",
"v2.8.5-rc2",
"v2.8.5-rc1",
"v2.8.4-rc4",
"v2.8.4",
"v2.8.4-rc3",
"v2.8.4-rc2",
"v2.8.4-rc1",
"v2.8.3-rc6",
"v2.8.3",
"v2.8.3-rc5",
"v2.8.3-rc4",
"v2.8.3-rc3",
"v2.8.3-rc2",
"v2.8.3-rc1",
"v2.8.2",
"v2.8.1",
"v2.8.0-signed",
"v2.8.0",
"v2.7.4",
"v2.7.1-signed",
"v2.7.1",
"v2.6.5",
"v2.8.0-Windows",
"v2.8.0-rc3",
"v2.8.0-rc2",
"v2.8.0-rc1",
"v2.7.3",
"v2.7.3-signed",
"v2.7.2-signed",
"v2.7.2",
"v2.6.4",
"v2.6.3",
"v2.6.2",
"v2.6.1",
"v2.6.0",
"v2.4.3",
"v2.4.2",
"v2.4.1",
"v2.4.0",
"v2.0.1",
"v2.0.3"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54160.json"
}
}
],
"modified": "2026-10-28T02:30:22.613020420Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54160.json",
"https://github.com/networkupstools/nut/security/advisories/GHSA-w6wj-3r73-fxmh",
"https://nvd.nist.gov/vuln/detail/CVE-2026-54160",
"https://github.com/networkupstools/nut/commit/658b24ef8410648ceca6d5a59e8690efbc8c36bc"
],
"provider_metadata": {
"cwe_ids": [
"CWE-829"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54160.json"
}
},
"related_cves": [
{
"value": "CVE-2026-54160",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 489143,
"published_at": "2026-09-28T16:35:45.67+00:00"
}