2018-02-24

NPM 5.7が重要なディレクトリの所有者を書き換える凄まじいバカをやらかす

https://github.com/npm/npm/issues/19883

Do not use NPM 5.7 | Hacker News

NPM 5.7において、sudo npmを非rootユーザーから行うと、/etc/とか/usrとか/bootなどの極めて重要なディレクトリの所有者を、sudo npmを実行した非rootユーザーにchownして書き換えてしまうというとてつもないすさまじい不具合が報告されている。

一体どうすればそんな間違いをしでかすというのか。

https://github.com/npm/npm/commit/94227e15eeced836b3d7b3d2b5e5cc41d4959cff

どうもディレクトリを作成するときにパーミッションと所有者を適切に設定するという名目でmkdirをラップして実行時のユーザーでchownするcorrectMKdirを作ってmkdirを置き換えたようなのだが、そもそもsudoしたユーザーがroot権限を持つユーザーである保証はなく、そもそも/etcや/usrの所有者であるユーザーである保証もなく、本当にNPM開発者は本来とっくの昔に解決したはずの問題を、ぼくちんのかんがえたさいきょうのほうほうで引っ掻き回すことにかけては驚異的な才能を発揮するのに余念がない。これだから特定の言語専用のパッケージマネージャーというのは使うべきではないのだ。

1 comment:


  1. 対立煽りは分割統治
    ユダ豚がトップ
    モグラはどこにでもいる
    WW2で奴隷化
    クーデター可能
    羊飼いは皆殺しだ

    ReplyDelete

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.