clickstream-ios
clickstream-ios copied to clipboard
Fixed Command injection in cocoapods-downloader
Changes:
The gojek/clickstream-ios used cocoapods-downloader 1.6.0, from 1.6.2 and before 1.6.3 are vulnerable to Command Injection via git argument injection. When calling the Pod::Downloader.preprocess_options function and using git, both the git and branch parameters are passed to the git ls-remote subcommand in a way that additional flags can be set. The additional flags can be used to perform a command injection.
require 'cocoapods-downloader' options = { :git => '--upload-pack=touch ./HELLO1;', :branch => 'foo'} options = Pod::Downloader.preprocess_options(options) # ls -la
- After Fixed
it 'throws when proving an invalid input' do
options = { :git => '--upload-pack=touch ./HELLO1;', :branch => 'foo' }
e = lambda { Downloader.preprocess_options(options) }.should.raise DownloaderError
e.message.should.match /Provided unsafe input/
end
Operational Impact
CVE-2022-24440
CWE-74
CWE-88
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Hi @imhunterand thank you for the PR.
mas @AbhijeetMallick would you mind to check this? thank you