たぶん私は数か月前に「Linuxに取り掛かった」だけなので、noobの質問です。なんらかの理由でnginxの脆弱性があるかどうかを確認することにしたところ、「 CVE-2018-16845 」が見つかりました。「バージョン1.15.6、1.14.1より前のnginxには脆弱性がある...」 。
Ubuntuサーバーを自動更新に設定しているため、実行しているnginx-lightのバージョンを確認することにしました。
myself@server:~$ nginx -v
nginx version: nginx/1.14.0 (Ubuntu)
myself@server:~$ uname -a
Linux server 4.15.0-66-generic #75-Ubuntu SMP Tue Oct 1 05:24:09 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
myself@server:~$ Sudo apt update
Hit:1 http://as-repository.openvpn.net/as/debian bionic InRelease
Hit:2 http://gb.archive.ubuntu.com/ubuntu bionic InRelease
Hit:3 http://ppa.launchpad.net/certbot/certbot/ubuntu bionic InRelease
Hit:4 http://gb.archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:5 http://gb.archive.ubuntu.com/ubuntu bionic-backports InRelease
Hit:6 http://gb.archive.ubuntu.com/ubuntu bionic-security InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
myself@server:~$
そして、これは私が迷ってしまうところです。 nginxウェブサイトによると、最新バージョンは1.17.5、または1.14ブランチの場合は1.14.2です。 Ubuntuリポジトリの脆弱なバージョンが古くなっているということですか、それともこのパズルに欠けているものがあるのでしょうか?
変更ログを見て、パッチが適用されたかどうかを確認できます。
Sudo apt-get changelog nginx
...
nginx (1.14.0-0ubuntu1.2) bionic-security; urgency=medium
* SECURITY UPDATE: excessive memory consumption in HTTP/2 implementation
- debian/patches/CVE-2018-16843.patch: add flood detection in
src/http/v2/ngx_http_v2.c, src/http/v2/ngx_http_v2.h.
- CVE-2018-16843
* SECURITY UPDATE: excessive CPU usage in HTTP/2 implementation
- debian/patches/CVE-2018-16844.patch: limit the number of idle state
switches in src/http/v2/ngx_http_v2.c, src/http/v2/ngx_http_v2.h.
- CVE-2018-16844
* SECURITY UPDATE: infinite loop in ngx_http_mp4_module
- debian/patches/CVE-2018-16845.patch: fixed reading 64-bit atoms in
src/http/modules/ngx_http_mp4_module.c.
- CVE-2018-16845
-- Marc Deslauriers <[email protected]> Tue, 06 Nov 2018 13:54:15 -0500
どうやら、CVE-2018-16845は2018年11月6日にパッチが適用されました。