Vulnerabilities in pkg:gem/kaminari

PACKAGE
Advisory Identifier: GHSA-7r3j-qmr4-jfpj
Advisory Summary

CVE-2024-32978 is a MODERATE (CVSS 6.6) kaminari insecure file permissions vulnerability vulnerability (CWE-276: Incorrect Default Permissions) affecting Kaminari libraries in the RubyGems ecosystem. The issue involves kaminari insecure file permissions vulnerability. Remediation is available by upgrading affected packages to version 0.16.2.

2 Known Advisory Record(s)
Package Vulnerability Intelligence

pkg:gem/kaminari

2 Known Advisory Record(s)

Vulnerability advisories affecting package pkg:gem/kaminari. Select an advisory below to view technical details or fixes.

Advisory ID CVE / NVD Severity Summary
GHSA-7r3j-qmr4-jfpj CVE-2024-32978 MODERATE Kaminari Insecure File Permissions Vulnerability
GHSA-r5jw-62xg-j433 CVE-2020-11082 MODERATE Cross-Site Scripting in Kaminari

CVE-2024-32978 at a Glance

CVE Identifier CVE-2024-32978
GHSA Identifier GHSA-7r3j-qmr4-jfpj
Severity MODERATE
CVSS v3.1 Base Score 6.6
CWE Classification CWE-276: Incorrect Default Permissions
Affected Product Kaminari
Package Ecosystem RubyGems
Published Date
Last Updated

Security Impact

CVSS: 6.6

The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H).

Attack Vector Network (AV:N)
Attack Complexity High (AC:H)
Privileges Required High (PR:H)
User Interaction None (UI:N)
Scope Unchanged (S:U)
Confidentiality High (C:H)
Integrity High (I:H)
Availability High (A:H)

How to Fix CVE-2024-32978

To remediate this vulnerability, upgrade all affected Kaminari dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

kaminari fixed: 0.16.2
Upgrade kaminari to 0.16.2
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

inspect dependencies for kaminari

How to Check if You Are Affected

To determine whether your application is affected by CVE-2024-32978, inspect your project dependencies for Kaminari:

inspect dependencies for kaminari

Analyze the terminal output to locate any version of Kaminari in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 0.16.2), your application is affected.

Note: Verify declared build manifests and deployed runtime container environments.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-276: Incorrect Default Permissions, where during installation, installed file permissions are set to allow anyone to modify those files. In Kaminari, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

A moderate severity security vulnerability has been identified in the Kaminari pagination library for Ruby on Rails, concerning insecure file permissions. This advisory outlines the vulnerability, affected versions, and provides guidance for mitigation. ### Impact This vulnerability is of moderate severity due to the potential for unauthorized write access to particular Ruby files managed by the library. Such access could lead to the alteration of application behavior or data integrity issues. ### Resolution Those who use the `gem install` command, such as `gem install kaminari -v 0.16.1`, `gem unpack kaminari -v 0.16.1`, or `bundle install` to download the package would **_not_** be affected and no action is required. Those who manually download and decompressing the affected versions are advised to update to 0.16.2 or later version of Kaminari where file permissions have been adjusted to enhance security. ### Workarounds If upgrading is not feasible immediately, manually adjusting the file permissions on the server to `644` to restrict access is a viable interim measure. #### All Affected Versions: ``` lib/kaminari/models/page_scope_methods.rb ``` In addition to the previously mentioned files, security tools like AWS Inspector might also identify other files as unsafe. These files, although not loaded or used at runtime, may still be flagged. To avoid any potential confusion in your logs and ensure system integrity, we recommend updating the permissions for these files as well. This proactive measure helps maintain a clean security posture and minimizes unnecessary alerts. #### Version 0.15.0 and 0.15.1: ``` spec/models/mongo_mapper/mongo_mapper_spec.rb ``` #### Version 0.16.0: ``` spec/models/mongo_mapper/mongo_mapper_spec.rb spec/models/mongoid/mongoid_spec.rb ``` #### Version 0.16.1: ``` spec/models/active_record/scopes_spec.rb spec/models/mongo_mapper/mongo_mapper_spec.rb spec/models/mongoid/mongoid_spec.rb gemfiles/data_mapper_12.gemfile gemfiles/active_record_32.gemfile ``` ### References Official Kaminari repository link (this page) ### Acknowledgements We thank [Gareth Jones](https://github.com/G-Rath) for discovering and reporting this issue. Their diligent work is instrumental in our ongoing efforts to maintain and improve software security.

CVE-2024-32978 Affected Kaminari Versions

1 component(s)
Fixed Versions:
0.16.2
Product / Package Ecosystem Affected Versions Fixed Version
kaminari
RubyGems
≥ 0.15.0
< 0.16.2
0.16.2

References

Frequently Asked Questions

What is CVE-2024-32978?
CVE-2024-32978 is a security vulnerability in Kaminari involving Kaminari Insecure File Permissions Vulnerability under CWE-276: Incorrect Default Permissions.
Which Kaminari versions are affected?
Affected versions include releases prior to 0.16.2 across affected packages: kaminari.
What version fixes CVE-2024-32978?
Upgrading to 0.16.2 (or the latest patched release for your respective branch) resolves the vulnerability.
Is kaminari affected?
Yes, kaminari is affected in releases prior to 0.16.2. Upgrade your dependency to 0.16.2 or later.
What is the CVSS score of CVE-2024-32978?
CVE-2024-32978 has a CVSS v3.1 base score of 6.6 (MODERATE) with vector string CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H.
What CWE is associated with CVE-2024-32978?
CVE-2024-32978 is classified under CWE-276: Incorrect Default Permissions (During installation, installed file permissions are set to allow anyone to modify those files.).
How can I check RubyGems dependencies for CVE-2024-32978?
Run the dependency tree command: 'inspect dependencies for kaminari'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-7r3j-qmr4-jfpj",
  "modified" : "2024-05-31T20:33:21Z",
  "published" : "2024-05-28T15:47:00Z",
  "aliases" : [ "CVE-2024-32978" ],
  "summary" : "Kaminari Insecure File Permissions Vulnerability",
  "details" : "A moderate severity security vulnerability has been identified in the Kaminari pagination library for Ruby on Rails, concerning insecure file permissions. This advisory outlines the vulnerability, affected versions, and provides guidance for mitigation.\n\n### Impact\n\nThis vulnerability is of moderate severity due to the potential for unauthorized write access to particular Ruby files managed by the library. Such access could lead to the alteration of application behavior or data integrity issues.\n\n### Resolution\n\nThose who use the `gem install` command, such as `gem install kaminari -v 0.16.1`, `gem unpack kaminari -v 0.16.1`, or `bundle install` to download the package would **_not_** be affected and no action is required. \n\nThose who manually download and decompressing the affected versions are advised to update to 0.16.2 or later version of Kaminari where file permissions have been adjusted to enhance security.\n\n### Workarounds\n\nIf upgrading is not feasible immediately, manually adjusting the file permissions on the server to `644` to restrict access is a viable interim measure.\n\n#### All Affected Versions:\n\n```\nlib/kaminari/models/page_scope_methods.rb\n```\n\nIn addition to the previously mentioned files, security tools like AWS Inspector might also identify other files as unsafe. These files, although not loaded or used at runtime, may still be flagged. To avoid any potential confusion in your logs and ensure system integrity, we recommend updating the permissions for these files as well. This proactive measure helps maintain a clean security posture and minimizes unnecessary alerts.\n\n#### Version 0.15.0 and 0.15.1:\n\n```\nspec/models/mongo_mapper/mongo_mapper_spec.rb\n```\n\n#### Version 0.16.0:\n\n```\nspec/models/mongo_mapper/mongo_mapper_spec.rb\nspec/models/mongoid/mongoid_spec.rb\n```\n\n#### Version 0.16.1:\n\n```\nspec/models/active_record/scopes_spec.rb\nspec/models/mongo_mapper/mongo_mapper_spec.rb\nspec/models/mongoid/mongoid_spec.rb\ngemfiles/data_mapper_12.gemfile\ngemfiles/active_record_32.gemfile\n```\n\n### References\n\nOfficial Kaminari repository link (this page)\n\n### Acknowledgements\n\nWe thank [Gareth Jones](https://github.com/G-Rath) for discovering and reporting this issue. Their diligent work is instrumental in our ongoing efforts to maintain and improve software security.",
  "severity" : [ {
    "type" : "CVSS_V3",
    "score" : "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "RubyGems",
      "name" : "kaminari"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0.15.0"
      }, {
        "fixed" : "0.16.2"
      } ]
    } ],
    "database_specific" : {
      "last_known_affected_version_range" : "<= 0.16.1"
    }
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/kaminari/kaminari/security/advisories/GHSA-7r3j-qmr4-jfpj"
  }, {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2024-32978"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/kaminari/kaminari"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/rubysec/ruby-advisory-db/blob/master/gems/kaminari/CVE-2024-32978.yml"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-276" ],
    "severity" : "MODERATE",
    "github_reviewed" : true,
    "github_reviewed_at" : "2024-05-28T15:47:00Z",
    "nvd_published_at" : "2024-05-27T16:15:08Z"
  }
}