Sha256: c0a1829f7d0c57fc681c5020a1215242a06e9d5027ec8c114c5b04344fd3d1b4

Contents?: true

Size: 1.32 KB

Versions: 1

Compression:

Stored size: 1.32 KB

Contents

---
gem: actionpack
framework: rails
cve: 2020-8164
date: 2020-05-18
url: https://groups.google.com/forum/#!topic/rubyonrails-security/f6ioe4sdpbY
title: Possible Strong Parameters Bypass in ActionPack
description: |
  There is a strong parameters bypass vector in ActionPack.

  Versions Affected:  rails <= 6.0.3
  Not affected:       rails < 4.0.0
  Fixed Versions:     rails >= 5.2.4.3, rails >= 6.0.3.1

  Impact
  ------
  In some cases user supplied information can be inadvertently leaked from
  Strong Parameters.  Specifically the return value of `each`, or `each_value`,
  or `each_pair` will return the underlying "untrusted" hash of data that was
  read from the parameters.  Applications that use this return value may be
  inadvertently use untrusted user input.

  Impacted code will look something like this:

  ```
  def update
    # Attacker has included the parameter: `{ is_admin: true }`
    User.update(clean_up_params)
  end

  def clean_up_params
     params.each { |k, v|  SomeModel.check(v) if k == :name }
  end
  ```

  Note the mistaken use of `each` in the `clean_up_params` method in the above
  example.

  Workarounds
  -----------
  Do not use the return values of `each`, `each_value`, or `each_pair` in your
  application.

unaffected_versions:
  - "< 4.0.0"

patched_versions:
  - "~> 5.2.4.3"
  - ">= 6.0.3.1"

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bundler-audit-0.7.0.1 data/ruby-advisory-db/gems/actionpack/CVE-2020-8164.yml