There is a possible shell escape sequence injection vulnerability in the Lint and CommonLogger components of Rack. This vulnerability has been assigned the CVE identifier CVE-2022-30123.
Versions Affected: All. Not affected: None Fixed Versions: 2.0.9.1, 2.1.4.1, 2.2.3.1
Impact
Carefully crafted requests can cause shell escape sequences to be written to the terminal via Rack’s Lint middleware and CommonLogger middleware. These escape sequences can be leveraged to possibly execute commands in the victim’s terminal.
Impacted applications will have either of these middleware installed, and vulnerable apps may have something like this:
use Rack::Lint
Or
use Rack::CommonLogger
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
Remove these middleware from your application
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.
- 2-0-shell-escape.patch - Patch for 2.0 series
- 2-1-shell-escape.patch - Patch for 2.1 series
- 2-2-shell-escape.patch - Patch for 2.2 series
Credits
Thanks to @vairelt for reporting this
2-2-shell-escape.patch (3.0 KB) 2-1-shell-escape.patch (2.9 KB) 2-0-shell-escape.patch (2.9 KB)