Kernel#open
は Perl など由来の機能として |foo
などを渡すと foo
というコマンドを実行することができる機能があり、open に外部から与えられた入力をそのまま渡すようなコード、例えばファイル名を渡して開く、ということをやっていると、パイプを伴う入力値を渡すことでコマンドインジェクションを引き起こすことができてしまう。
それはよろしくない、と Secure by default の精神で無効にしてはどうかという提案があって、いいのではないか、と Ruby 3.3 では警告、4.0 で動かなくする、ということになった。
Matz としては、今まで動いていたコードが動かなくなる、というのは嫌だということなので、まずは警告にして動かなくなりそうなコードの様子をみることになるけど、これ 4.0 で本当に消せるのかなあ。4.0 に何かしらのマーケ的な機能を入れることにした場合に、これがネックでバージョンアップが進まないというのは大変よろしくないので、消すなら 4.1+ がいいと思う。
今月は司馬遼太郎の歴史小説、ということで、ハイハイ創作創作というモードでささっと読んでしまった。割とこの辺の小説やコミックは読みまくっているので、大河ドラマの影響の連動企画ね、という感じで特筆は特になし。
NHK 100分 de 名著 司馬遼太郎『覇王の家』 2023年 8月 [雑誌] (NHKテキスト)
NHK出版
¥550