| タイトル | KovidgoyalのKittyにおけるリンク解釈に関する脆弱性 |
|---|---|
| 概要 | KittyはクロスプラットフォームのGPUベースの端末です。バージョン0.47.0および0.47.1において、`kitten dnd`は悪意のあるリモートのドラッグアンドドロップ元がローカルのkittyユーザーが書き込み可能な任意のファイルを上書きまたは切り詰めることを許してしまいます。リモートの`text/uri-list`ドロップは一時ディレクトリに段階的に配置されますが、大文字小文字を区別するファイルシステムでは重複したリモートのベース名が重複排除されません。攻撃者はまず段階的に配置されたシンボリックリンクを作成し、同名の通常ファイルエントリを送信できます。通常ファイルへの書き込みは`utils.CreateAt()` / `openat(O_RDWR|O_CREAT|O_TRUNC)`を`O_NOFOLLOW`なしで使用しているため、攻撃者が作成したシンボリックリンクをたどり、最終的な上書き確認が実行される前にステージングディレクトリの外部に書き込んでしまいます。これはファイル転送におけるシンボリックリンクに関するアドバイザリと同種の問題のように見えますが、異なるバグです。`kitten dnd`のリモートドラッグアンドドロップのステージングに影響し、脆弱なコードは異なり(`kittens/dnd/drop.go`および`tools/utils/file_at_fd.go`)、ファイル転送の`O_NOFOLLOW`修正後のコミット`4aa4a5c0567a92553a8c20a88a4352da637fca5d`で再現します。バージョン0.47.2でこの問題は修正されました。 |
| 想定される影響 | ・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 ・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 ・当該ソフトウェアの一部が停止する可能性があります。 |
| 対策 | ベンダ情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年6月12日0:00 |
| 登録日 | 2026年6月17日15:38 |
| 最終更新日 | 2026年6月17日15:38 |
| CVSS3.0 : 重要 | |
| スコア | 7.1 |
|---|---|
| ベクター | CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:L |
| Kovidgoyal |
| Kitty 0.47.0 以上 0.47.2 未満 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年06月17日] 掲載 |
2026年6月17日15:38 |
| 概要 | Kitty is a cross-platform GPU based terminal. In versions 0.47.0 and 0.47.1, `kitten dnd` can allow a malicious remote drag-and-drop source to overwrite or truncate arbitrary files writable by the local kitty user. Remote `text/uri-list` drops are staged in a temporary directory, but on case-sensitive filesystems duplicate remote basenames are not de-duplicated. An attacker can first create a staged symlink and then send a same-name regular-file entry. The regular-file write uses `utils.CreateAt()` / `openat(O_RDWR|O_CREAT|O_TRUNC)` without `O_NOFOLLOW`, so it follows the attacker-created symlink and writes outside the staging directory before final overwrite confirmation runs. This appears related in class to the file-transfer symlink advisory, but it is a different bug: it affects `kitten dnd` remote drag-and-drop staging, uses different vulnerable code (`kittens/dnd/drop.go` and `tools/utils/file_at_fd.go`), and reproduces on commit `4aa4a5c0567a92553a8c20a88a4352da637fca5d`, after the file-transfer `O_NOFOLLOW` fix. Version 0.47.2 patches the issue. |
|---|---|
| 公表日 | 2026年6月13日6:16 |
| 登録日 | 2026年6月14日4:11 |
| 最終更新日 | 2026年6月17日0:59 |
| 構成1 | 以上 | 以下 | より上 | 未満 | |
| cpe:2.3:a:kovidgoyal:kitty:*:*:*:*:*:*:*:* | 0.47.0 | 0.47.2 | |||