💘

Ubuntu 20.04 のサーバーに NginX を入れる時ドキッとしたこと

2022/01/05に公開
1

vulnerability のニュースに戸惑った

Ubuntu は apt パッケージャで管理できるから楽ちんですね。

$ sudo apt install nginx
$ nginx -V
nginx version:nginx/1.18.0 (Ubuntu)

と思ったら!
https://nginx.org/en/security_advisories.html

[nginx security advisories]
1-byte memory overwrite in resolver
Severity: medium
Advisory
CVE-2021-23017
Not vulnerable: 1.21.0+, 1.20.1+
Vulnerable: 0.6.18-1.20.0
The patch pgp

あれれ。ver.1.18.0 は脆弱性あり(vulnerable)になってる・・・
ver.1.21.0 を手動で入れないといけないのかな?
あ、でも patch というのが書かれている。
ソースをダウンロードして調べてみよう。

ソースコードを参照した

一時的にソースをダウンロードできるようにする:

$ cd
$ cp /etc/apt/sources.list ~
$ grep '^# deb-src' sources.list | sed 's/^#//g' > deb-src.list
$ cd deb-src.list /etc/apt/sources.list.d/

で、nginx のソースを引っ張ってくる:

$ apt update
$ apt source nginx-light
...
dpkg-source: info: applying CVE-2021-23017-1.patch
dpkg-source: info: applying CVE-2021-23017-2.patch

最後の表示から、上述の脆弱性に対応するパッチが当てられている様子だ。
ソース自体も確認:

$ cd nginx-1.8.0/src/core
$ sed -n '4000,4011p;4012q' ngx_resolver.c
        } else {
            if (dst != name->data) {
                *dst++ = '.';
            }

            ngx_strlow(dst, src, n);
            dst += n;
            src += n;

            n = *src++;
        }

いいみたい!
apt を元に戻します。

$ rm /etc/apt/sources.list.d/deb-src.list

大丈夫だった(結論とメモ)

結論:
apt で入れたそのままで patch が当てられていて大丈夫でした。
パッケージメンテナーの皆さんがしっかりやってくれていて助かります。

Discussion

ゆのはゆのは

違う話になるんですけど、学校のChromebookで、You Tube見る方法って知ってますか?