Debian GNU/Linux Sarge の x86 CPU 環境のデフォルトのカーネルイメージのパッケージ kernel-image-2.4.27-2-386 では、どうやらセキュリティホールが解消されないらしい。


# apt-get update
# apt-get upgrade

ってやってもダメ。

情報源いろいろ

[debian-users:47321] [Translate] [SECURITY] [DSA 1183-1] New Linux 2.4.27 packages fix several vulnerabilities による以下。


Package        : kernel-source-2.4.27
Vulnerability  : 複数
Problem type   : リモート
Debian-specific: いいえ
CVE IDs        : CVE-2005-4798 CVE-2006-2935 CVE-2006-1528 CVE-2006-2444
                 CVE-2006-2446 CVE-2006-3745 CVE-2006-4535
CERT advisory  : VU#681569
BugTraq IDs    : 18081 18101 18847 19666 20087
 
複数の欠陥が Linux カーネルに発見されており、サービス拒否攻撃や任意コー
ド実行の恐れがあります。The Common Vulnerabilities and Exposures
project では以下の問題を認識しています。
(中略)
以下はこの問題が修正されたカーネルバージョンとアーキテクチャの関係を示
したものです。
 
                                     stable (sarge)
    Source                           2.4.27-10sarge4
    Alpha architecture               2.4.27-10sarge4
    ARM architecture                 2.4.27-2sarge4
    Intel IA-32 architecture         2.4.27-10sarge4
    Intel IA-64 architecture         2.4.27-10sarge4
    Motorola 680x0 architecture      2.4.27-3sarge4
    MIPS architectures               2.4.27-10.sarge4.040815-1
    PowerPC architecture             2.4.27-10sarge4
    IBM S/390                        2.4.27-2sarge4
    Sun Sparc architecture           2.4.27-9sarge4
    FAI                              1.9.1sarge4
    mindi-kernel                     2.4.27-2sarge3
    kernel-image-speakup-i386        2.4.27-1.1sarge3
    systemimager                     3.2.3-6sarge3

Debian GNU/Linux スレッド 過去ログ検索 - Debian GNU/Linux スレッド Ver.42 による以下。


393 :login:Penguin:2006/09/26(火) 20:40:45 ID:/q2NVN+W
    この前のセキュリティfixがよくわからないので、
    ご存知の方がいたらおしえてください。
 
    New Linux 2.4.27 packages fix several vulnerabilities
    http://lists.debian.or.jp/debian-users/200609/msg00143.html
 
    apt-get update と apt-get upgrade で
    カーネルのセキュリティホールは修正できたのでしょうか。
 
    dpkg でみると以下のように表示されます。
 
    # dpkg -l | grep kernel-image
    ii kernel-image-2.4.27 2.4.27-10sarge1 Linux kernel image for version 2.4.27 on 386
 
    2.4.27-10sarge4 となっていないので、まだ塞ぐことができていないのでしょうか?
 
394 :login:Penguin:2006/09/26(火) 22:06:24 ID:1UtQUl24
    >>393
    ふさがってないように見えるね。
    /etc/apt/sources.list に security.debian.org が入ってるか確認したら?
 
395 :393:2006/09/27(水) 06:11:21 ID:qyZ8ET5E
    /etc/apt/sources.listには以下の行が含まれていました。
 
    deb http://security.debian.org/ stable/updates main contrib
 
    てっきり、これでOKかと思っていたのですが。
 
396 :login:Penguin:2006/09/27(水) 06:27:43 ID:OqBIVzMk
    これってkernel-sourceだからkernel-imageとは別?
 
397 :393:2006/09/27(水) 06:42:23 ID:qyZ8ET5E
    http://lists.debian.or.jp/debian-users/200609/msg00143.html を見ると
    以下のようなkernel-imageパッケージがありました。
 
    http://security.debian.org/pool/updates/main/k/kernel-image-2.4.27-i386/
    kernel-image-2.4.27-2-386_2.4.27-10sarge1_i386.deb
 
    たぶんkernel-imageもセキュリティアップデートの対象だと思うのですが、
    よくわかりません。
 
    kernel-imageを明示的にインストールした覚えがないので、
    デフォルトのkernel-imageを使っていると思います。
 
    kernel-imageパッケージの情報を調べようと思ったのですが、
    apt-cache show では No packages found となってしまいました。
 
    # apt-cache show kernel-image-2.4.27
    W: Unable to locate package kernel-image-2.4.27
    E: No packages found
 
398 :login:Penguin:2006/09/27(水) 10:37:40 ID:6iFs7fLn
    >>397
    なにが入ってるのかよく分かった。
    >>397 の環境には kernel-image-2.4.27-2-386 パッケージが入ってるんだけど、
    今回の更新では kernel-image-2.4.27-3-386 パッケージが更新された。
    パッケージ名が違うため>>397の環境ではカーネルのパッケージの更新は起こらない。
 
    なんでパッケージ名が違うかというと、2006/2/8に変更したセキュリティアップデートで
    ABIが変更されたから、らしい。(DSAは未確認)
    kernel-image-2.4.27-i386 というソースパッケージが生成するバイナリパッケージが
    kernel-image-2.4.27-2-386 から kernel-image-2.4.27-3-386 に変わった、ようだ。
 
    だから、今後のカーネルのセキュリティ修正も、>>397の環境では適用されない可能性が高い。
 
    が、わからないのは、何故 kernel-image-2.4.27-2-386 へのリンクが DSAにあったんだろう?
    実は影響を受けないのかな? そんなはずはないと思うけど。
 
    最新の2.4系カーネルを入れてくれる kernel-image-2.4-386 なんてパッケージもあるから、
    運用が許せば試してみてもいいかもしれない。
    俺のところは、kernel-image-2.4-386 が kernel-image-2.4.27-3-386 への移行をやってくれた。
    結果 kernel-image-2.4.27-2-386 と kernel-image-2.4.27-3-386 が両方入ってる。(消せよ>自分) 

409 :393:2006/09/29(金) 06:33:32 ID:W8UjLZOO
    ありがとうございます。
    >>398
 
    COLUMNS を指定してみたらちゃんとパッケージ名もわかりました。
    398さんの言われるように kernel-image-2.4.27-2-386 でした。
 
    # COLUMNS=160 dpkg -l | grep kernel
    ii kernel-image-2.4.27-2-386 2.4.27-10sarge1 Linuxkernel image for version 2.4.27 on 386
 
    Debian としては、このパッケージに対して修正は行っていない。
    ただし、脆弱性の影響はあるかも。ということですね。
 
410 :login:Penguin:2006/09/29(金) 08:59:53 ID:aJ+ZDM8b
    >>409
    加えて言うなら、「今後も」修正されない (できない)、と思う。
    脆弱性を修正するには、kernel-image-2.4.27-3-386 をインストールする必要があるのではないかな? 

Debian -- Security Information -- DSA-1018-2 kernel-source-2.4.27 による以下。


Date Reported:
    24 Mar 2006
(中略)
The original update lacked recompiled ALSA modules against the new kernel ABI. Furthermore, kernel-latest-2.4-sparc now correctly depends on the updated packages. For completeness we're providing the original problem description:
(中略) We recommend that you upgrade your kernel package immediately and reboot the machine. If you have built a custom kernel from the kernel source package, you will need to rebuild to take advantage of these fixes.
This update introduces a change in the kernel's binary interface, the affected kernel packages inside Debian have been rebuilt, if you're running local addons you'll need to rebuild these as well.

security support for kernel-image-2.4.27-2-XXX discontinued? による以下。


The recent (today and 24.03.06) kernel upgrade leaves a bit confused.
The version sarge was released with is kernel-image-2.4.27-2-XXX, the
latest security packages are released for kernel-image-2.4.27-3-XXX.
 
 
 
What is the rational behind this name change, that breaks the
automatic upgrade path? 
 
(中略)
 
The kernel ABI changed, so the change was needed. Install the
kernel-image-2.4-686 (or whatever you need) package.

その他、参考。

カーネルパッケージについて

Martin F. Krafft 著 / The Debian System その概念と技法 5.12.2 カーネルパッケージの解剖 (258~261ページ) によると、

バージョン番号の後ろには、カーネルイメージのAPIのバージョンをエンコードした番号が続く。ABIは無数のコンパイル時オプションとカーネル設定パラメータによって変更されるため、モジュール間での互換性が失われてしまう。そのため、モジュールが強制的に再コンパイルされるように、ABIバージョンをパッケージ名にエンコードする

カーネルパッケージアーキテクチャの 386 については、

これはx86互換のあらゆるアーキテクチャ(AMD、Intel、Transmeta、Cyrix など)で動作する互換カーネルです。

686 については、

これらのカーネルは、Pentium 以降のすべての Intel 製32ビットプロセッサで動作するように設計されています。
作業が単純に進められるように、いくつものメタパッケージ(「ダミーパッケージ」とも呼ばれます)が用意されている

そのメタパッケージのうちで x86 CPU 用の Linux 2.4 カーネルを扱っているのは、

kernel-image-2.4-386
x86アーキテクチャ用の最新の2.4カーネル。
kernel-image-2.4-686
第1世代の Pentium よりも後に登場したすべての Pentium プロセッサに最適化された最新の2.4カーネル。

また、

メタパッケージは Sarge 以降でしか利用できない

とのこと。

アップデート方法概略

kernel-image-2.4.27-2-386 → kernel-image-2.4-386


# apt-get install kernel-image-2.4-386
# shutdown -r now

アップデート手順詳細

いっそのこと686へ。
kernel-image-2.4.27-2-386 → kernel-image-2.4-686

現在、インストールされているカーネルのバージョンをチェック。


# uname -srvmo
Linux 2.4.27-2-386 #1 Wed Aug 17 09:33:35 UTC 2005 i686 GNU/Linux
 
# COLUMNS=200 dpkg -l | grep kernel-image
ii  kernel-image-2.4.27-2-386                    2.4.27-10sarge1
              Linux kernel image for version 2.4.27 on 386

使えそうなパッケージが存在するか検索。


# apt-cache search kernel-image-2.4-686
kernel-image-2.4-686 - Linux kernel image for version 2.4 on PPro/Celeron/PII/PIII/P4
kernel-image-2.4-686-smp - Linux kernel image for version 2.4 on PPro/Celeron/PII/PIII/P4 SMP

メタパッケージ kernel-image-2.4-686 をインストール。


# apt-get install kernel-image-2.4-686
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  kernel-image-2.4.27-3-686
Suggested packages:
  lilo kernel-doc-2.4.27 kernel-source-2.4.27
  kernel-pcmcia-modules-2.4.27-3-686
The following NEW packages will be installed:
  kernel-image-2.4-686 kernel-image-2.4.27-3-686
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 12.4MB of archives.
After unpacking 32.6MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ftp.jp.debian.org stable/main kernel-image-2.4.27-3-686 2.4.27-10sarge4 [12.4MB]
Get:2 http://ftp.jp.debian.org stable/main kernel-image-2.4-686 101sarge1 [2182B]
Fetched 12.4MB in 25s (493kB/s)
Selecting previously deselected package kernel-image-2.4.27-3-686.
(Reading database ... 99799 files and directories currently installed.)
Unpacking kernel-image-2.4.27-3-686 (from .../kernel-image-2.4.27-3-686_2.4.27-10sarge4_i386.deb) ...
Selecting previously deselected package kernel-image-2.4-686.
Unpacking kernel-image-2.4-686 (from .../kernel-image-2.4-686_101sarge1_i386.deb) ...
Setting up kernel-image-2.4.27-3-686 (2.4.27-10sarge4) ...
Searching for GRUB installation directory ... found: /boot/grub .
Testing for an existing GRUB menu.list file... found: /boot/grub/menu.lst .
Searching for splash image... none found, skipping...
Found kernel: /vmlinuz-2.4.27-3-686
Found kernel: /vmlinuz-2.4.27-2-386
Updating /boot/grub/menu.lst ... done
 
Setting up kernel-image-2.4-686 (101sarge1) ...

パッケージがインストールできているか確認。
メタパッケージの kernel-image-2.4-686 は、実際には kernel-image-2.4.27-3-686 もインストールしているのがわかる。
また、この時点では、動作しているカーネルは古いまま。


# COLUMNS=200 dpkg -l | grep kernel-image
ii  kernel-image-2.4-686                         101sarge1
              Linux kernel image for version 2.4 on PPro/Celeron/PII/PIII/P4
ii  kernel-image-2.4.27-2-386                    2.4.27-10sarge1
              Linux kernel image for version 2.4.27 on 386
ii  kernel-image-2.4.27-3-686                    2.4.27-10sarge4
              Linux kernel image for version 2.4.27 on PPro/Celeron/PII/PIII/P4
 
# uname -srvmo
Linux 2.4.27-2-386 #1 Wed Aug 17 09:33:35 UTC 2005 i686 GNU/Linux

再起動して、バージョンを確認。
Linux 2.4.27-3-686 になっている。


# shutdown -r now
 
# uname -srvmo
Linux 2.4.27-3-686 #1 Thu Sep 14 06:30:39 UTC 2006 i686 GNU/Linux

後日談

このメモを書いたのは2006年の9月頃だったから kernel-image-2.4.27-3-686 (2.4.27-10sarge4) だったけど、久々に起動した Sarge マシンを apt-get upgrade してみたら kernel-image-2.4.27-3-686 (2.4.27-10sarge5) になった。


# COLUMNS=200 dpkg -l | grep kernel-image
ii  kernel-image-2.4-686                         101sarge1
              Linux kernel image for version 2.4 on PPro/Celeron/PII/PIII/P4
ii  kernel-image-2.4.27-2-386                    2.4.27-10sarge1
              Linux kernel image for version 2.4.27 on 386
ii  kernel-image-2.4.27-3-686                    2.4.27-10sarge5
              Linux kernel image for version 2.4.27 on PPro/Celeron/PII/PIII/P4

[debian-users:47801] [Translate] [SECURITY] [DSA 1237-1] New Linux 2.4.27 packages fix several vulnerabilities による以下。


Package        : kernel-source-2.4.27
Vulnerability  : 複数
Problem-Type   : ローカル/リモート
Debian-specific: いいえ
CVE ID         : CVE-2006-4093 CVE-2006-4538 CVE-2006-4997 CVE-2006-5174
                 CVE-2006-5649 CVE-2006-5871
 
 
複数のローカルおよびリモートから攻撃可能な欠陥が Linux カーネルに発見され
ました。これらの欠陥を攻撃することで、サービス拒否攻撃や、任意のコードの
実行が可能です。The Common Vulnerabilities and Exposures project は以下の
問題を認識しています。
(中略)
以下の表は、各カーネルとアーキテクチャで、上記問題が修正された版を示した
ものです。
 
                                 Debian 3.1 (sarge)
     Source                      2.4.27-10sarge5
     Alpha architecture          2.4.27-10sarge5
     ARM architecture            2.4.27-2sarge5
     Intel IA-32 architecture    2.4.27-10sarge5
     Intel IA-64 architecture    2.4.27-10sarge5
     Motorola 680x0 architecture 2.4.27-3sarge5
     Big endian MIPS             2.4.27-10.sarge4.040815-2
     Little endian MIPS          2.4.27-10.sarge4.040815-2
     PowerPC architecture        2.4.27-10sarge5
     IBM S/390 architecture      2.4.27-2sarge5
     Sun Sparc architecture      2.4.27-9sarge5
(中略)
直ぐに kernel パッケージをアップグレードし、マシンをリブートすることを勧
めます。上記のソースパッケージによりカスタムカーネルを作成している場合は、
修正の効果を得るためにカーネルの再ビルドが必要です。

tags: zlashdot Linux Debian

Posted by NI-Lab. (@nilab)