Fix error preventing activity log diff #411
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves #410
@version.changeset
was returning an empty hash due to YAML serialization permitted class exceptions, restrictions introduced after an RCE escalation risk was discovered. Examining the deserializer in the paper_trail gem showed that we needed to allowActiveSupport::TimeWithZone, Time, ActiveSupport::TimeZone
classes for the changes to load.Debug here: https://github.com/paper-trail-gem/paper_trail/blob/master/lib/paper_trail/version_concern.rb#L357
Related: https://discuss.rubyonrails.org/t/cve-2022-32224-possible-rce-escalation-bug-with-serialized-columns-in-active-record/81017
And: https://stackoverflow.com/a/72970171
Changes
ActiveSupport::TimeWithZone, Time, ActiveSupport::TimeZone
classes for yaml load inconfig/application.rb
Note that PaperTrail/versioning is now turned off for specs by default. To include versioning functionality in specs you need to activate in the test block.