Linuxでログを集めて書き出す仕組み「rsyslog」に、設定によっては、決めたログの置き場所の外へファイルを作ったり書き足したりされる欠陥があります。rsyslogの開発元は8月20日にGitHubで勧告を出し、10月22日にCVEの番号(CVE-2026-92709)が付きました。深刻度はCVSS 3.1で8.1(High)です。
修正版は、まだありません。今の対策は、設定に安全な扱いを入れることです。
当たる設定の条件
rsyslogには、出力先のファイル名を、ログの中身(送り元のホスト名など)から動的に作る「dynaFile」という機能があります。ログを送り元ごとに別のファイルへ分ける、といった使い方のためのものです。
rsyslogの勧告の当たる設定と対象の版。完全に直った版はまだ無いとしている出典: rsyslog「DynFile Path Traversal → Arbitrary File Write as Root → RCE」(GHSA-xmp9-244p-5ggv)(引用)
勧告によると、次のすべてがそろうと当たります。
| 条件 |
中身 |
| 出力の設定 |
ファイルに書き出すomfileの設定で、dynaFileを使っている |
| ファイル名の作り方 |
ファイル名を作るテンプレートに、攻撃者が変えられる値など、信頼できない値を入れている |
| 安全な扱い |
その値に、securepath、secpath-drop、secpath-replaceのどれも指定していない |
| 攻撃者 |
その値を変えられる(たとえば、ネットワークからログを送れる) |
| 権限 |
rsyslogの動く権限と、ホストの閉じ込めの設定が、置き場所の外への書き込みを許している |
送り元のホスト名(RFC5424のHOSTNAME)に限らず、信頼できない値がファイル名の一部になれば当たります。対象は、dynaFileの今の振る舞いが入った1.15.0以降です。
一方で、DebianとUbuntuの既定の設定は、ネットワークからログを受ける入口と、この形のdynaFileを有効にしていないので当たらないとしています。強制アクセス制御、systemdの閉じ込め、ファイルの権限、受け付ける入口、出力のテンプレートによって、影響は小さくなったり、起きなかったりします。コードの実行には、設定ごとの追加の条件が要るとしています。
修正版は無い 今できる対策
勧告は、完全に直った版はまだ無いとしています。開発元は、決めた置き場所から外へ出ないようにする閉じ込めの仕組みを作っていますが、シンボリックリンクなどがあるため、完全な閉じ込めは約束できないとしています。そのうえで、次の対策を勧めています。
- 安全な扱いを入れる: dynaFileのテンプレートで使う信頼できない値に、
securepath、secpath-drop、secpath-replaceのどれかを、ファイル名の付け方に合わせて指定する。これが基本の対策です。
- 安全な既定のモードを使う(8.2606.0以降):
global(compatibility.defaults.secure="warn")にすると、今の振る舞いのまま、当たりうるテンプレートについて起動時に警告を出します。"strict"にすると、安全な扱いを指定していない値は、既定でsecpath-replaceとして扱われます。今の既定は、振る舞いを変えない"backward-compatible"です。
- 権限を絞る: rsyslogを必要最小限の権限で動かし、OSの閉じ込めも残します。ただし、これはテンプレートを安全に作ることの代わりにはならないとしています。
開発元は、まずwarnで見直しが要るテンプレートを見つけ、安全な扱いを足すか、使えるならstrictにするよう求めています。
ディストリの状況(10月23日時点)
| ディストリ |
状況 |
| Debian |
Debian 12(bookworm)、Debian 13(trixie)、開発版とも「vulnerable(当たる)」。修正版は未定。Debian 13は「小さな問題」として個別の勧告(DSA)は出さない扱い |
| Red Hat |
深刻度は「Important」。RHEL 6〜10のrsyslogは、どれも「Affected(当たる)」 |
ディストリの配布の直った版も、まだ出ていません。設定の対策を先に進めます。