blog.anqou.net
rss
author
tags

NixOS で Dirty Frag を緩和する

先日の Copy Fail に引き続き、新たな Linux の脆弱性である Dirty Frag が公開されました。Copy Fail のときは Linux にパッチが比較的早く降ってきたので Linux の最新版を当てることで対応していましたが、今回の Dirty Frag はまだパッチが無いらしいです[1]。幸い緩和策は公式に公開されているので、NixOS でこれを適用してみます。

公式の手順は次のとおりです(適当に見やすく編集):

printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf;
rmmod esp4 esp6 rxrpc 2>/dev/null;
echo 3 > /proc/sys/vm/drop_caches

esp4esp6rxrpc は手元ではロードされていなかった[2]ので rmmod やページキャッシュの削除は不要で、/etc/modprobe.d を編集するだけで良さそうです。ということで NixOS Options の boot.extraModprobeConfig を編集します:

boot.extraModprobeConfig = ''
  # cf. https://www.walbrix.co.jp/article/dirtyfrag-linux-lpe.html
  install esp4 /bin/false
  install esp6 /bin/false
  install rxrpc /bin/false
'';

nixos-rebuild switch すると次の通り無事 /etc/modprobe.d/nixos.conf が書き換わりました:

$ cat /etc/modprobe.d/nixos.conf | grep install -B1
# cf. https://www.walbrix.co.jp/article/dirtyfrag-linux-lpe.html
install esp4 /bin/false
install esp6 /bin/false
install rxrpc /bin/false

注釈

  1. GitHub のサイトを見ると “Detailed information and the exploit for this vulnerability were published publicly by an unrelated third party, breaking the embargo.” とか書いてあって不穏な空気を感じます。

  2. lsmod | grep '^esp4$' のように確認しました。