Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package rubygem-activerecord-7.0 for 
openSUSE:Factory checked in at 2022-08-06 22:07:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-activerecord-7.0 (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-activerecord-7.0.new.1521 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-activerecord-7.0"

Sat Aug  6 22:07:45 2022 rev:5 rq:993457 version:7.0.3.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/rubygem-activerecord-7.0/rubygem-activerecord-7.0.changes
        2022-05-16 18:10:57.593394713 +0200
+++ 
/work/SRC/openSUSE:Factory/.rubygem-activerecord-7.0.new.1521/rubygem-activerecord-7.0.changes
      2022-08-06 22:07:51.802605146 +0200
@@ -1,0 +2,35 @@
+Thu Aug  4 12:52:32 UTC 2022 - Stephan Kulow <co...@suse.com>
+
+updated to version 7.0.3.1
+ see installed CHANGELOG.md
+
+  ## Rails 7.0.3.1 (July 12, 2022) ##
+  
+  *   Change ActiveRecord::Coders::YAMLColumn default to safe_load
+  
+      This adds two new configuration options The configuration options are as
+      follows:
+      
+      * `config.active_storage.use_yaml_unsafe_load`
+      
+      When set to true, this configuration option tells Rails to use the old
+      "unsafe" YAML loading strategy, maintaining the existing behavior but 
leaving
+      the possible escalation vulnerability in place.  Setting this option to 
true
+      is *not* recommended, but can aid in upgrading.
+      
+      * `config.active_record.yaml_column_permitted_classes`
+      
+      The "safe YAML" loading method does not allow all classes to be 
deserialized
+      by default.  This option allows you to specify classes deemed "safe" in 
your
+      application.  For example, if your application uses Symbol and Time in
+      serialized data, you can add Symbol and Time to the allowed list as 
follows:
+      
+      ```
+      config.active_record.yaml_column_permitted_classes = [Symbol, Date, Time]
+      ```
+  
+      [CVE-2022-32224]
+  
+  
+
+-------------------------------------------------------------------

Old:
----
  activerecord-7.0.3.gem

New:
----
  activerecord-7.0.3.1.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-activerecord-7.0.spec ++++++
--- /var/tmp/diff_new_pack.4g90Po/_old  2022-08-06 22:07:53.234609309 +0200
+++ /var/tmp/diff_new_pack.4g90Po/_new  2022-08-06 22:07:53.238609321 +0200
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-activerecord-7.0
-Version:        7.0.3
+Version:        7.0.3.1
 Release:        0
 %define mod_name activerecord
 %define mod_full_name %{mod_name}-%{version}

++++++ activerecord-7.0.3.gem -> activerecord-7.0.3.1.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md    2022-05-09 15:40:02.000000000 +0200
+++ new/CHANGELOG.md    2022-07-12 19:30:22.000000000 +0200
@@ -1,3 +1,31 @@
+## Rails 7.0.3.1 (July 12, 2022) ##
+
+*   Change ActiveRecord::Coders::YAMLColumn default to safe_load
+
+    This adds two new configuration options The configuration options are as
+    follows:
+    
+    * `config.active_storage.use_yaml_unsafe_load`
+    
+    When set to true, this configuration option tells Rails to use the old
+    "unsafe" YAML loading strategy, maintaining the existing behavior but 
leaving
+    the possible escalation vulnerability in place.  Setting this option to 
true
+    is *not* recommended, but can aid in upgrading.
+    
+    * `config.active_record.yaml_column_permitted_classes`
+    
+    The "safe YAML" loading method does not allow all classes to be 
deserialized
+    by default.  This option allows you to specify classes deemed "safe" in 
your
+    application.  For example, if your application uses Symbol and Time in
+    serialized data, you can add Symbol and Time to the allowed list as 
follows:
+    
+    ```
+    config.active_record.yaml_column_permitted_classes = [Symbol, Date, Time]
+    ```
+
+    [CVE-2022-32224]
+
+
 ## Rails 7.0.3 (May 09, 2022) ##
 
 *   Some internal housekeeping on reloads could break custom `respond_to?`
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/active_record/coders/yaml_column.rb 
new/lib/active_record/coders/yaml_column.rb
--- old/lib/active_record/coders/yaml_column.rb 2022-05-09 15:40:02.000000000 
+0200
+++ new/lib/active_record/coders/yaml_column.rb 2022-07-12 19:30:22.000000000 
+0200
@@ -45,13 +45,15 @@
           raise ArgumentError, "Cannot serialize #{object_class}. Classes 
passed to `serialize` must have a 0 argument constructor."
         end
 
-        if YAML.respond_to?(:unsafe_load)
-          def yaml_load(payload)
-            YAML.unsafe_load(payload)
-          end
-        else
-          def yaml_load(payload)
-            YAML.load(payload)
+        def yaml_load(payload)
+          if !ActiveRecord.use_yaml_unsafe_load
+            YAML.safe_load(payload, permitted_classes: 
ActiveRecord.yaml_column_permitted_classes, aliases: true)
+          else
+            if YAML.respond_to?(:unsafe_load)
+              YAML.unsafe_load(payload)
+            else
+              YAML.load(payload)
+            end
           end
         end
     end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/active_record/gem_version.rb 
new/lib/active_record/gem_version.rb
--- old/lib/active_record/gem_version.rb        2022-05-09 15:40:02.000000000 
+0200
+++ new/lib/active_record/gem_version.rb        2022-07-12 19:30:22.000000000 
+0200
@@ -10,7 +10,7 @@
     MAJOR = 7
     MINOR = 0
     TINY  = 3
-    PRE   = nil
+    PRE   = "1"
 
     STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/active_record/railtie.rb 
new/lib/active_record/railtie.rb
--- old/lib/active_record/railtie.rb    2022-05-09 15:40:02.000000000 +0200
+++ new/lib/active_record/railtie.rb    2022-07-12 19:30:22.000000000 +0200
@@ -403,5 +403,23 @@
         end
       end
     end
+
+    initializer "active_record.use_yaml_unsafe_load" do |app|
+      config.after_initialize do
+        unless app.config.active_record.use_yaml_unsafe_load.nil?
+          ActiveRecord.use_yaml_unsafe_load =
+            app.config.active_record.use_yaml_unsafe_load
+        end
+      end
+    end
+
+    initializer "active_record.yaml_column_permitted_classes" do |app|
+      config.after_initialize do
+        unless app.config.active_record.yaml_column_permitted_classes.nil?
+          ActiveRecord.yaml_column_permitted_classes =
+            app.config.active_record.yaml_column_permitted_classes
+        end
+      end
+    end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/active_record.rb new/lib/active_record.rb
--- old/lib/active_record.rb    2022-05-09 15:40:02.000000000 +0200
+++ new/lib/active_record.rb    2022-07-12 19:30:22.000000000 +0200
@@ -340,6 +340,20 @@
   singleton_class.attr_accessor :query_transformers
   self.query_transformers = []
 
+  ##
+  # :singleton-method:
+  # Application configurable boolean that instructs the YAML Coder to use
+  # an unsafe load if set to true.
+  singleton_class.attr_accessor :use_yaml_unsafe_load
+  self.use_yaml_unsafe_load = false
+
+  ##
+  # :singleton-method:
+  # Application configurable array that provides additional permitted classes
+  # to Psych safe_load in the YAML Coder
+  singleton_class.attr_accessor :yaml_column_permitted_classes
+  self.yaml_column_permitted_classes = []
+
   def self.eager_load!
     super
     ActiveRecord::Locking.eager_load!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2022-05-09 15:40:02.000000000 +0200
+++ new/metadata        2022-07-12 19:30:22.000000000 +0200
@@ -1,14 +1,14 @@
 --- !ruby/object:Gem::Specification
 name: activerecord
 version: !ruby/object:Gem::Version
-  version: 7.0.3
+  version: 7.0.3.1
 platform: ruby
 authors:
 - David Heinemeier Hansson
 autorequire:
 bindir: bin
 cert_chain: []
-date: 2022-05-09 00:00:00.000000000 Z
+date: 2022-07-12 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: activesupport
@@ -16,28 +16,28 @@
     requirements:
     - - '='
       - !ruby/object:Gem::Version
-        version: 7.0.3
+        version: 7.0.3.1
   type: :runtime
   prerelease: false
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
     - - '='
       - !ruby/object:Gem::Version
-        version: 7.0.3
+        version: 7.0.3.1
 - !ruby/object:Gem::Dependency
   name: activemodel
   requirement: !ruby/object:Gem::Requirement
     requirements:
     - - '='
       - !ruby/object:Gem::Version
-        version: 7.0.3
+        version: 7.0.3.1
   type: :runtime
   prerelease: false
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
     - - '='
       - !ruby/object:Gem::Version
-        version: 7.0.3
+        version: 7.0.3.1
 description: Databases on Rails. Build a persistent domain model by mapping 
database
   tables to Ruby classes. Strong conventions for associations, validations, 
aggregations,
   migrations, and testing come baked-in.
@@ -434,10 +434,10 @@
 - MIT
 metadata:
   bug_tracker_uri: https://github.com/rails/rails/issues
-  changelog_uri: 
https://github.com/rails/rails/blob/v7.0.3/activerecord/CHANGELOG.md
-  documentation_uri: https://api.rubyonrails.org/v7.0.3/
+  changelog_uri: 
https://github.com/rails/rails/blob/v7.0.3.1/activerecord/CHANGELOG.md
+  documentation_uri: https://api.rubyonrails.org/v7.0.3.1/
   mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
-  source_code_uri: https://github.com/rails/rails/tree/v7.0.3/activerecord
+  source_code_uri: https://github.com/rails/rails/tree/v7.0.3.1/activerecord
   rubygems_mfa_required: 'true'
 post_install_message:
 rdoc_options:
@@ -456,7 +456,7 @@
     - !ruby/object:Gem::Version
       version: '0'
 requirements: []
-rubygems_version: 3.3.7
+rubygems_version: 3.3.3
 signing_key:
 specification_version: 4
 summary: Object-relational mapper framework (part of Rails).

Reply via email to