事象
bootsnap
をバージョン1.16.0
にバージョンアップしたら以下のエラーが発生しました。
Psych::DisallowedClass:
Tried to load unspecified class: Time
原因
ruby
のYAML
パーサーライブラリPsych
において、バージョン4.0.0
以降セキュリティ脆弱性対策としてYAML.load_file
メソッドの挙動がデフォルトでsafe_mode
という厳格なパースを行うように変更されている様です。
※ これまでの挙動と同じにするにはYAML.unsafe_load_file
を使う必要がある様です。
上記に付随してbootsnap
でも Date
とTime
の値とエイリアスを適切に拒否する様に対応がされました。
Psych::DisallowedClass:
Tried to load unspecified class: Time
対応
調査したところcommittee
というライブラリでYAML.load_file
を呼び出しておりエラーが発生していました。
committee
では5.0.0
でPsych
の4.0.0
に対応されていたのでバージョンアップしたら解消されました。