FreeBSD-SA-05:08.kmem "Local kernel memory disclosure"

The FreeBSD Project よりセキュリティ勧告が出ました。要点を以下にまとめます。

  • カーネル内の幾つかの場所で最初にバッファをゼロクリアしていないため、他の内容の一部を公開してしまう脆弱性がある。
  • この脆弱性により権限のないユーザがカーネルメモリを入手できてしまう。
  • 入手したカーネルメモリにはファイルキャッシュやターミナルバッファの一部などを含む可能性があり、これらには他人の機密情報、たとえば他のユーザが入力したパスワードなどを含む可能性がある。

セキュリティ勧告は ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:08.kmem.asc にあります。
以下は上記のセキュリティ勧告の一部とその訳文です。ただし品質は保証致しません。

0. 改訂履歴 - Revision History

v1.0 2005-05-06
Initial release.
v1.1 2005-05-07
Updated patch to include related issues reported by Uwe Doering.
Uwe Doeringにより報告された、関連する問題を加えるためにパッチを更新した。

I. 背景 - Background

In many parts of the FreeBSD kernel, names (of mount points, devices, files, etc.) are manipulated as NULL-terminated strings, but are provided to applications within fixed-length buffers.
FreeBSDカーネルの多くの部分では、(マウントポイント、デバイス、ファイルなどの)名前はNULLターミネートの文字列として操作されますが、固定長バッファ内での利用も提供されています。

II. 問題の詳細 - Problem Description

In several places, variable-length strings were copied into fixed-length buffers without zeroing the unused portion of the buffer.
いくつかの場所で、バッファの未使用部分をゼロクリアせずに、可変長文字列が固定長バッファにコピーされていました。

III. 影響範囲 - Impact

The previous contents of part of the fixed-length buffers will be disclosed to applications. Such memory might contain sensitive information, such as portions of the file cache or terminal buffers. This information might be directly useful, or it might be leveraged to obtain elevated privileges in some way. For example, a terminal buffer might include a user-entered password.
固定長バッファの前回の内容の一部がアプリケーションに明らかにされるでしょう。そのようなメモリはファイルキャッシュやターミナルバッファの一部などの機密情報を含むかもしれません。この情報は直接有用かもしれませんし、あるいは、何らかの方法で高い権限を得る手段にされるかもしれません。例えば、ターミナルバッファはユーザによって入力されたパスワードを含むかもしれません。

IV. 回避方法 - Workaround

No workaround is available.
回避方法はありません。

><