macOS High Sierraでディスクユーティリティのヒントに平文のままパスワードが表示されてしまう不具合は、コードのコピー/ペーストが原因か?

macOSのKeychainのアイコン。 macOS High Sierra
記事内に広告が含まれています。
スポンサーリンク
スポンサーリンク
スポンサーリンク

 macOS High Sierraでディスクユーティリティのヒントに平文のままパスワードが表示されてしまう不具合は、コードのコピー/ペーストが原因だった可能性があるようです。詳細は以下から。

macOSのKeychainのアイコン。

 macOS 10.13 High Sierraのディスクユーティリティで「パスワードのヒント」にパスワードが平文のまま保存され表示されてしまう不具合は簡単に再現でき、Appleが「macOS 10.13追加アップデート」でこの不具合をすぐに修正し、サポートドキュメントまで出したことで各所で話題になりましたが、この不具合の原因はコードのコピー&ペーストが原因だったようです。

暗号化されたAPFSのパスワードがディスクユーティリティに表示されてしまう不具合

Diff

 元Microsoftのエンジニアで現在はPSPDFKitを開発しているDaniel Martínさんが追加アップデートで修正されたStorageKitと問題があったバージョンを比較してみたところ、この不具合は”kSKAPFSDiskPasswordOption”と”kSKAPFSDiskPasswordHintOption”が同じ”v50″に収納されてしまうことで、「パスワードのヒント」に「パスワード」が表示されてしまうという問題が発生してしまったようで、

High Sierraのパスワードヒント不具合

Martínさんや他の開発者の方々は「Appleの内部テストやコードレビューに問題があるのではないか?」や、MavericksおよびiOS 7.0.6で修正されたSSL/TLS脆弱性(通称”Goto fail“)を引き合いに出してブラケットの有無をコメントしている人もいるので、興味のある方はMartínさんへのリプライをチェックしてみて下さい。

コメント

  1. 匿名 より:

    私が詳細設計書や環境設計でやらかしてレビュー時に上司に叱責受けるあれと同じレベル…

  2. 匿名 より:

    実装した機能は全部動作確認するという当たり前のことをやってれば防げたんだよなあ

  3. 匿名 より:

    ブラケットがないのは逆コンパイルしたからなのでは

  4. 匿名 より:

    この手の問題っていつもソースコードを解析しているけど、
    このソースコードってどこから手に入るの?
    コンパイルされているならバイナリしかないし、
    インタープリタ的なデータがあるのかな?
    Appleのオープンソースで入手できるのか、それとも逆アセンブルで解析しているのか・・・

    • applech2 より:

      Mac/iOSでリバースエンジニアを行っている方の大半は「Hopper」を利用しているようですが、
      MartínさんはEmacsと幾つかのスクリプトを利用したそうです。

      ttps://www.hopperapp.com
      ttps://twitter.com/dmartincy/status/916746326335000576

    • 匿名 より:

      Objective-Cはメッセージパッシング用にバイナリにも結構なメタ情報を持ってるので、逆コンパイラでそこそこ高精度にソースコードが生成できちゃうのよ。

  5. 匿名 より:

    リリース速度優先で動作テストしてねえんだろうな
    他にも致命的不具合がありそうだ

  6. 匿名 より:

    最近こういうミス多いからなぁ。パスワードが平文で見られるなんて下手したら裁判沙汰だろ
    多少のバグは許すが、こういう致命的なものは本当やめてほしい

タイトルとURLをコピーしました