Skip to content

doorkeeper-5.8.2.gem: 1 vulnerabilities (highest severity is: 7.5) - autoclosed #11200

@mend-bolt-for-github

Description

@mend-bolt-for-github
Vulnerable Library - doorkeeper-5.8.2.gem

Path to dependency file: /Gemfile.lock

Path to vulnerable library: /tmp/containerbase/cache/.ruby/cache/rack-2.2.21.gem

Found in HEAD commit: da0c9c84fdbc82b3b8e2221482a86225136e26be

Vulnerabilities

Vulnerability Severity CVSS Dependency Type Fixed in (doorkeeper version) Remediation Possible**
CVE-2026-22860 High 7.5 rack-2.2.21.gem Transitive N/A*

*For some transitive vulnerabilities, there is no version of direct dependency with a fix. Check the "Details" section below to see if there is a version of transitive dependency where vulnerability is fixed.

**In some cases, Remediation PR cannot be created automatically for a vulnerability despite the availability of remediation

Details

CVE-2026-22860

Vulnerable Library - rack-2.2.21.gem

Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.

Library home page: https://rubygems.org/gems/rack-2.2.21.gem

Path to dependency file: /Gemfile.lock

Path to vulnerable library: /tmp/containerbase/cache/.ruby/cache/rack-2.2.21.gem

Dependency Hierarchy:

  • doorkeeper-5.8.2.gem (Root Library)
    • railties-8.1.2.gem
      • actionpack-8.1.2.gem
        • rack-2.2.21.gem (Vulnerable Library)

Found in HEAD commit: da0c9c84fdbc82b3b8e2221482a86225136e26be

Found in base branch: main

Vulnerability Details

Summary "Rack::Directory"’s path check used a string prefix match on the expanded path. A request like "/../root_example/" can escape the configured root if the target path starts with the root string, allowing directory listing outside the intended root. Details In "directory.rb", "File.expand_path(File.join(root, path_info)).start_with?(root)" does not enforce a path boundary. If the server root is "/var/www/root", a path like "/var/www/root_backup" passes the check because it shares the same prefix, so "Rack::Directory" will list that directory also. Impact Information disclosure via directory listing outside the configured root when "Rack::Directory" is exposed to untrusted clients and a directory shares the root prefix (e.g., "public2", "www_backup"). Mitigation * Update to a patched version of Rack that correctly checks the root prefix. * Don't name directories with the same prefix as one which is exposed via "Rack::Directory".

Publish Date: 2026-02-17

URL: CVE-2026-22860

CVSS 3 Score Details (7.5)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: High
    • Integrity Impact: None
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-mxw3-3hh2-x2mh

Release Date: 2026-02-17

Fix Resolution: rack - 3.1.20,rack - 3.2.5,rack - 2.2.22

Step up your Open Source Security Game with Mend here

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions