💘
Ubuntu 20.04 のサーバーに NginX を入れる時ドキッとしたこと
vulnerability のニュースに戸惑った
Ubuntu は apt パッケージャで管理できるから楽ちんですね。
$ sudo apt install nginx
$ nginx -V
nginx version:nginx/1.18.0 (Ubuntu)
と思ったら!
[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見る方法って知ってますか?