CVE-2026-54555

Source
https://cve.org/CVERecord?id=CVE-2026-54555
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54555.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-54555
Aliases
  • GHSA-7gxq-fvfc-g327
Published
2026-06-23T19:05:20.849Z
Modified
2026-07-15T01:48:59.305912757Z
Severity
  • 7.8 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H CVSS Calculator
Summary
rtk: Permission-gate bypass in rtk rewrite auto-allow via unsplit shell separators
Details

rtk filters and compresses command outputs before they reach your LLM context. Prior to 0.42.2, the permission splitter did not conservatively split or reject several shell constructs that Bash treats as command execution boundaries or nested execution. As a result, a command beginning with an allowed prefix such as git could hide a second command behind one of these constructs. rtk rewrite returned exit code 0, causing the Claude hook to emit permissionDecision: "allow". The rewritten command still contained the hidden command, so it ran without the user confirmation or denial that the permission rules were intended to enforce. This vulnerability is fixed in 0.42.2.

Database specific
{
    "cwe_ids": [
        "CWE-863"
    ],
    "cna_assigner": "GitHub_M",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54555.json"
}
References

Affected packages

Git / github.com/rtk-ai/rtk

Affected ranges

Type
GIT
Repo
https://github.com/rtk-ai/rtk
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
{
    "source": "AFFECTED_FIELD",
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "fixed": "0.42.2"
        }
    ]
}

Affected versions

dev-0.*
dev-0.33.1-rc.62
dev-0.34.0-rc.65
dev-0.34.0-rc.66
dev-0.34.0-rc.67
dev-0.34.0-rc.68
dev-0.34.1-rc.71
dev-0.34.1-rc.72
dev-0.34.1-rc.79
dev-0.34.1-rc.80
dev-0.34.3-rc.91
dev-0.34.3-rc.92
dev-0.34.3-rc.93
dev-0.34.3-rc.94
dev-0.34.3-rc.95
dev-0.34.3-rc.96
dev-0.34.3-rc.97
dev-0.35.0-rc.100
dev-0.35.0-rc.101
dev-0.35.0-rc.102
dev-0.35.0-rc.103
dev-0.35.0-rc.105
dev-0.35.0-rc.106
dev-0.35.0-rc.107
dev-0.35.0-rc.108
dev-0.35.0-rc.109
dev-0.35.0-rc.110
dev-0.35.0-rc.111
dev-0.35.0-rc.81
dev-0.35.0-rc.82
dev-0.35.0-rc.85
dev-0.35.0-rc.86
dev-0.35.0-rc.87
dev-0.35.0-rc.88
dev-0.35.1-rc.114
dev-0.35.1-rc.115
dev-0.36.0-rc.116
dev-0.36.0-rc.117
dev-0.36.0-rc.118
dev-0.36.0-rc.119
dev-0.36.0-rc.121
dev-0.36.0-rc.122
dev-0.36.0-rc.123
dev-0.36.0-rc.124
dev-0.36.0-rc.125
dev-0.36.0-rc.126
dev-0.36.0-rc.128
dev-0.36.0-rc.137
dev-0.36.0-rc.142
dev-0.36.0-rc.148
dev-0.37.0-rc.151
dev-0.37.0-rc.152
dev-0.37.0-rc.153
dev-0.37.0-rc.154
dev-0.37.0-rc.155
dev-0.37.1-rc.158
dev-0.37.1-rc.159
dev-0.37.2-rc.162
dev-0.37.2-rc.163
dev-0.37.2-rc.164
dev-0.37.2-rc.165
dev-0.38.0-rc.170
dev-0.38.0-rc.171
dev-0.38.0-rc.173
dev-0.38.0-rc.174
dev-0.38.0-rc.175
dev-0.38.0-rc.176
dev-0.38.0-rc.177
dev-0.38.0-rc.178
dev-0.38.0-rc.179
dev-0.38.0-rc.184
dev-0.38.1-rc.187
dev-0.38.1-rc.188
dev-0.38.1-rc.190
dev-0.39.0-rc.191
dev-0.39.0-rc.192
dev-0.39.0-rc.193
dev-0.39.0-rc.194
dev-0.39.0-rc.195
dev-0.39.0-rc.196
dev-0.39.0-rc.198
dev-0.39.0-rc.199
dev-0.40.0-rc.204
dev-0.40.0-rc.205
dev-0.40.0-rc.206
dev-0.40.0-rc.207
v0.*
v0.10.0
v0.11.0
v0.12.0
v0.13.0
v0.13.1
v0.14.0
v0.15.0
v0.15.1
v0.15.2
v0.15.3
v0.15.4
v0.16.0
v0.17.0
v0.18.0
v0.18.1
v0.19.0
v0.2.1
v0.20.0
v0.20.1
v0.21.0
v0.21.1
v0.22.0
v0.22.1
v0.22.2
v0.23.0
v0.24.0
v0.25.0
v0.26.0
v0.27.0
v0.27.1
v0.27.2
v0.28.0
v0.28.1
v0.28.2
v0.29.0
v0.3.0
v0.3.1
v0.30.0
v0.30.1
v0.30.1-rc.43
v0.31.0
v0.33.0
v0.33.1
v0.34.0
v0.34.1
v0.34.2
v0.34.3
v0.35.0
v0.36.0
v0.37.0
v0.37.1
v0.37.2
v0.38.0
v0.39.0
v0.4.0
v0.40.0
v0.41.0
v0.42.0
v0.42.1
v0.5.0
v0.5.1
v0.5.2
v0.6.0
v0.7.0
v0.7.1
v0.8.0
v0.8.1
v0.9.0
v0.9.1
v0.9.2
v0.9.3
v0.9.4

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54555.json"