Loading...
Skip to main content

CVE-2023-22794 — Vulnerability in activerecord — CVE Details

HIGH

SQL Injection Vulnerability via ActiveRecord comments

Published January 18, 2023Updated February 21, 2024Source: osv

Summary

There is a possible vulnerability in ActiveRecord related to the sanitization of comments. This vulnerability has been assigned the CVE identifier CVE-2023-22794. Versions Affected: >= 6.0.0 Not affected: < 6.0.0 Fixed Versions: 6.0.6.1, 6.1.7.1, 7.0.4.1 Impact Previously the implementation of escaping for comments was insufficient for If malicious user input is passed to either the annotate query method, the optimizer_hints query method, or through the QueryLogs interface which automatically adds annotations, it may be sent to the database with insufficient sanitization and be able to inject SQL outside of the comment. In most cases these interfaces won’t be used with user input and users should avoid doing so. Example vulnerable code: ``` Post.where(id: 1).annotate("#{params[:user_input]}") Post.where(id: 1).optimizer_hints("#{params[:user_input]}") ``` Example vulnerable QueryLogs configuration (the default configuration is not vulnerable): ``` config.active_record.query_log_tags = [ { something: -> { <some value including user input> } } ] ``` All users running an affected release should either upgrade or use one of the workarounds immediately. Releases The FIXED releases are available at the normal locations. Workarounds Avoid passing user input to annotate and avoid using QueryLogs configuration which can include user input. Patches To aid users who aren’t able to upgrade immediately we have provided patches for the two supported release series. They are in git-am format and consist of a single changeset. 6-0-Make-sanitize_as_sql_comment-more-strict.patch - Patch for 6.0 series 6-1-Make-sanitize_as_sql_comment-more-strict.patch - Patch for 6.1 series 7-0-Make-sanitize_as_sql_comment-more-strict.patch - Patch for 7.0 series Please note that only the 7.0.Z and 6.1.Z series are supported at present, and 6.0.Z for severe vulnerabilities. Users of earlier unsupported releases are advised to upgrade as soon as possible as we cannot guarantee the continued availability of security fixes for unsupported releases.

Advisory Timeline

  • First published January 18, 2023 (1363 days ago).
  • Last revised February 21, 2024 — 398 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Bundler
Update activerecord to 6.1.7.1 or later
gem install activerecord -v 6.1.7.1
Bundler
Update activerecord to 7.0.4.1 or later
gem install activerecord -v 7.0.4.1
Bundler
Update activerecord to 6.0.6.1 or later
gem install activerecord -v 6.0.6.1

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (3)

Affects 1 ecosystem: rubygems (1).

PackageEcosystemAffectedFixed In
activerecord
rubygems
6.1.0, 6.1.1, 6.1.2, 6.1.2.1 (+16 more)6.1.7.1
activerecord
rubygems
7.0.0, 7.0.1, 7.0.2, 7.0.2.1 (+6 more)7.0.4.1
activerecord
rubygems
6.0.0, 6.0.1, 6.0.1.rc1, 6.0.2 (+25 more)6.0.6.1

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 8.8 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Frequently Asked Questions

What is CVE-2023-22794?
SQL Injection Vulnerability via ActiveRecord comments This vulnerability has been assigned a severity rating of HIGH (CVSS score: 8.8/10).
How do I check if my project is affected by CVE-2023-22794?
CVE-2023-22794 affects activerecord. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2023-22794 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
8.8

High exploitability or significant impact. Prioritize remediation within days.

Also Known As

GHSA-hq7p-j377-6v63

Related CVEs

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies