chore(deps): update dependency bundler to v2 [security] - #36
Open
sc-renovate[bot] wants to merge 1 commit into
Open
chore(deps): update dependency bundler to v2 [security]#36sc-renovate[bot] wants to merge 1 commit into
sc-renovate[bot] wants to merge 1 commit into
Conversation
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
from
June 1, 2026 13:33
aeadb06 to
2cc6f21
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
from
June 1, 2026 15:27
2cc6f21 to
2b9747e
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
from
June 2, 2026 00:59
2b9747e to
5c5426d
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
from
June 6, 2026 08:31
5c5426d to
a909b8c
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
3 times, most recently
from
June 10, 2026 02:19
123ab3b to
a7d3b88
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
4 times, most recently
from
June 20, 2026 00:56
1241ad0 to
6dcbe71
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
4 times, most recently
from
June 30, 2026 13:17
f681375 to
899597f
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
3 times, most recently
from
July 10, 2026 14:43
45f4ee6 to
1e4bc2a
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
from
July 14, 2026 02:28
1e4bc2a to
2e770c1
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
from
July 15, 2026 02:29
2e770c1 to
8c4cc23
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
from
July 15, 2026 18:57
8c4cc23 to
ff135de
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
from
July 16, 2026 01:46
ff135de to
a9ef0d0
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
from
July 16, 2026 16:27
a9ef0d0 to
6d8451b
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
from
July 21, 2026 07:36
6d8451b to
ac69f4f
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
3 times, most recently
from
July 24, 2026 17:18
7a664dd to
1f55302
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
from
July 25, 2026 19:29
1f55302 to
ff52f23
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
3 times, most recently
from
July 29, 2026 13:34
5f334b0 to
c6a3526
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
from
July 31, 2026 15:30
c6a3526 to
2d2b743
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
3 times, most recently
from
August 2, 2026 16:38
51d489e to
39341da
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
from
August 3, 2026 01:58
39341da to
3e587aa
Compare
sc-renovate
Bot
force-pushed
the
renovate/rubygems-bundler-vulnerability
branch
from
August 3, 2026 16:51
3e587aa to
68e7350
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
"~> 1.0"→"~> 2.2", ">= 2.2.33"GitHub Vulnerability Alerts
CVE-2019-3881
Bundler prior to 2.1.0 uses a predictable path in
/tmp/, created with insecure permissions as a storage location for gems, if locations under the user's home directory are not available. If Bundler is used in a scenario where the user does not have a writable home directory, an attacker could place malicious code in this directory that would be later loaded and executed.Severity
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:HCVE-2020-36327
Bundler 1.16.0 through 2.2.9 and 2.2.11 through 2.2.17 sometimes chooses a dependency source based on the highest gem version number, which means that a rogue gem found at a public source may be chosen, even if the intended choice was a private gem that is a dependency of another private gem that is explicitly depended on by the application.
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:HCVE-2021-43809
In
bundlerversions before 2.2.33, when working with untrusted and apparently harmlessGemfile's, it is not expected that they lead to execution of external code, unless that's explicit in the ruby code inside theGemfileitself. However, if theGemfileincludesgementries that use thegitoption with invalid, but seemingly harmless, values with a leading dash, this can be false.To handle dependencies that come from a Git repository instead of a registry, Bundler uses various commands, such as
git clone. These commands are being constructed using user input (e.g. the repository URL). When building thecommands, Bundler versions before 2.2.33 correctly avoid Command Injection vulnerabilities by passing an array of arguments instead of a command string. However, there is the possibility that a user input starts with a dash (
-) and is therefore treated as an optional argument instead of a positional one. This can lead to Code Execution because some of the commands have options that can be leveraged to run arbitrary executables.Since this value comes from the
Gemfilefile, it can contain any character, including a leading dash.Exploitation
To exploit this vulnerability, an attacker has to craft a directory containing a
Gemfilefile that declares a dependency that is located in a Git repository. This dependency has to have a Git URL in the form of-u./payload. This URLwill be used to construct a Git clone command but will be interpreted as the upload-pack argument. Then this directory needs to be shared with the victim, who then needs to run a command that evaluates the Gemfile, such as
bundle lock, inside.Impact
This vulnerability can lead to Arbitrary Code Execution, which could potentially lead to the takeover of the system. However, as explained above, the exploitability is very low, because it requires a lot of user interaction. It still could put developers at risk when dealing with untrusted files in a way they think is safe, because the exploit still works when the victim tries to make sure nothing can happen, e.g. by manually reviewing the
Gemfile(although they would need the weird URL with a leading dash to not raise any flags).This kind of attack vector has been used in the past to target security researchers by sending them projects to collaborate on.
Patches
Bundler 2.2.33 has patched this problem by inserting
--as an argument before any positional arguments to those Git commands that were affected by this issue.Workarounds
Regardless of whether users can upgrade or not, they should review any untrustred
Gemfile's before running anybundlercommands that may read them, since they can contain arbitrary ruby code.References
https://cwe.mitre.org/data/definitions/88.html
Severity
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:HCVE-2016-7954
Bundler 1.x might allow remote attackers to inject arbitrary Ruby code into an application by leveraging a gem name collision on a secondary source. NOTE: this might overlap CVE-2013-0334.
Severity
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HRelease Notes
ruby/rubygems (bundler)
v2.2.33Compare Source
Deprecations:
Enhancements:
#5133 by colby-swandale
request #4408 by deivid-rodriguez
Bug fixes:
ruby setup.rbtrying to write outside of--destdir. Pull request#5053 by deivid-rodriguez
Documentation:
Pull request #5130 by simi
request #5118 by hsbt
v2.2.32Compare Source
Enhancements:
deivid-rodriguez
operating_system.rb. Pull request #5044 bydeivid-rodriguez
v2.2.31Compare Source
Enhancements:
DESTDIRtonmakesince it works differently fromstandard
make. Pull request #5057 by hsbtgem installvsgem fetchinconsistency. Pull request #5037 bydeivid-rodriguez
optparse. Pull request #4881 bydeivid-rodriguez
tsortinternally. Pull request #5027 bydeivid-rodriguez
Bug fixes:
ruby setup.rbwhen--prefixis passed. Pull request #5051 bydeivid-rodriguez
--destdirtwice when runningsetup.rb. Pull request#2768 by alyssais
v2.2.30Compare Source
Enhancements:
Pull request #4991 by doodzik
digestgem unnecessarily. Pull request #4979 bydeivid-rodriguez
require_relativefor all internal requires. Pull request #4978by deivid-rodriguez
requireoftimewithinGem::Request.verify_certificate_message. Pull request #4975 by nobuPerformance:
gem install, specially under Windows. Pull request #4960 bydeivid-rodriguez
v2.2.29Compare Source
Enhancements:
request #4937 by duckinator
Bug fixes:
wordymethod inSourceFetchProblemchanging the password ofsource. Pull request #4910 by Huangxiaodui
Performance:
requireperformance, particularly on systems with a lot ofgems installed. Pull request #4951 by pocke
v2.2.28Compare Source
Enhancements:
by duckinator
uriunnecessarily when activating gems. Pull request#4897 by deivid-rodriguez
Bug fixes:
jdliss
v2.2.27Compare Source
Enhancements:
require_relativetorequirefor internal requires. Pullrequest #4858 by deivid-rodriguez
fetching once we find a valid candidate. Pull request #4843 by intuxicated
v2.2.26Compare Source
Enhancements:
rubygems/defaults/operating_systemfile. Pull request #4824 byintuxicated
RUBYGEMS_GEMDEPSfor the bundler gem. Pull request #4532 bydeivid-rodriguez
Bug fixes:
deivid-rodriguez
v2.2.25Compare Source
Enhancements:
base64library since it's not used. Pull request #4785by deivid-rodriguez
resolvlibrary since it's not used. Pull request #4784by deivid-rodriguez
shellwordslibrary. Pull request #4783 by deivid-rodriguezrequest #4651 by nobu
Bug fixes:
require 'fileutils'inGem::ConfigFile. Pull request#4768 by ybiquitous
v2.2.24Compare Source
Enhancements:
Bug fixes:
#4739 by jaredbeck
Documentation:
GEM_HOST_OTP_CODEto help text. Pull request#4742 by ybiquitous
v2.2.23Compare Source
Enhancements:
#4729 by drcapulet
v2.2.22Compare Source
Enhancements:
--otpviaGEM_HOST_OTP_CODE. Pull request #4697 byCGA1123
#4695 by rhenium
v2.2.21Compare Source
Enhancements:
truffleruby 21.0 and 21.1. Pull request #4624 by deivid-rodriguez
Bug fixes:
request #4665 by deivid-rodriguez
v2.2.20Compare Source
Security fixes:
execution. Pull request #4667 by sonalkr132
Enhancements:
ceritium
v2.2.19Compare Source
Enhancements:
gem help buildoutput format. Pull request #4613 by tnirv2.2.18Compare Source
Enhancements:
improve build reproducibility. Pull request #4610 by baloo
v2.2.17Compare Source
Enhancements:
Schwad
#4558 by mame
Documentation:
Pull request #4551 by graywolf-at-work
v2.2.16Compare Source
Enhancements:
Bug fixes:
v2.2.15Compare Source
Enhancements:
deivid-rodriguez
Bug fixes:
gem cert. Pull request #4464 by lukehindsv2.2.14Compare Source
Enhancements:
Bug fixes:
muslvariants to restore gracefulfallback on Alpine. Pull request #4434 by deivid-rodriguez
v2.2.13Compare Source
Enhancements:
Bug fixes:
v2.2.12Compare Source
Enhancements:
Bug fixes:
#4384 by cfis
v2.2.11Compare Source
Enhancements:
by sonalkr132
v2.2.10Compare Source
Enhancements:
Documentation:
gem pushexample togem help. Pull request #4373 bydeivid-rodriguez
required_ruby_version. Pull request #4343 byAlexWayfer
v2.2.9Compare Source
Enhancements:
Bug fixes:
request #4363 by deivid-rodriguez
Gem::Specification.stubs_forreturning wrong named specs. Pullrequest #4356 by tompng
#4351 by deivid-rodriguez
gem outdatedincorrectly handling platform specific gems. Pullrequest #4248 by deivid-rodriguez
v2.2.8Compare Source
Enhancements:
Bug fixes:
gem installcrashing on gemspec with nil required_ruby_version.Pull request #4334 by pbernays
v2.2.7Compare Source
Enhancements:
Bug fixes:
deivid-rodriguez
v2.2.6Compare Source
Enhancements:
Gem::Platform#inspectshowing duplicate information. Pull request#4276 by deivid-rodriguez
Bug fixes:
ensure_gem_subdirsto support jrubyembedded paths. Pull request #4291 by kares
makeenv variable. Pull request #4271 by terceiro
v2.2.5Compare Source
Enhancements:
Bug fixes:
request #4262 by deivid-rodriguez
bundlerexecutable aftergem update --system. Pullrequest #4221 by deivid-rodriguez
v2.2.4Compare Source
Enhancements:
deivid-rodriguez
deivid-rodriguez
Bug fixes:
request #4213 by deivid-rodriguez
deivid-rodriguez
v2.2.3Compare Source
Deprecations:
Enhancements:
#5133 by colby-swandale
request #4408 by deivid-rodriguez
Bug fixes:
ruby setup.rbtrying to write outside of--destdir. Pull request#5053 by deivid-rodriguez
Documentation:
Pull request #5130 by simi
request #5118 by hsbt
v2.2.2Compare Source
Enhancements:
request #4937 by duckinator
Bug fixes:
wordymethod inSourceFetchProblemchanging the password ofsource. Pull request #4910 by Huangxiaodui
Performance:
requireperformance, particularly on systems with a lot ofgems installed. Pull request #4951 by pocke
v2.2.1Compare Source
Enhancements:
gem help buildoutput format. Pull request #4613 by tnirv2.2.0Compare Source
Enhancements:
eregon
landongrindheim
gem querydeprecation. Pull request #4021 bylandongrindheim
time,cgi, andzlib. Pull request #4010 bydeivid-rodriguez
request #3968 by deivid-rodriguez
--forceoption togem sourcescommand. Pull request #3956 byandy-smith-msm
openssl. Pull request #3850 by deivid-rodriguezeregon
Bug fixes:
#4065 by deivid-rodriguez
slashes. Pull request #3123 by drcapulet
fileutilsrequire in rubygems installer. Pull request#4036 by deivid-rodriguez
--platformoption togem specificationbeing ignored. Pullrequest #4043 by deivid-rodriguez
--no-minimal-depsflag to install the latest version ofdependencies. Pull request #4030 by deivid-rodriguez
Warning.warn. Pullrequest #3987 by eregon
#3988 by voxik
--build-root. Pull request#3972 by deivid-rodriguez
--build-rootflag under Windows. Pull request #3975 bydeivid-rodriguez
typo_squatting?false positive forrubygems.orgitself. Pullrequest #3951 by andy-smith-msm
--defaultand--install-diroptions togem installplay nicetogether. Pull request #3906 by deivid-rodriguez
Deprecations:
Performance:
#3498 by deivid-rodriguez
v2.1.4Compare Source
Bug fixes:
gem uninstall foo --allnow force-uninstalls all versions of foo. Issue#650 by Kyle (remkade).
--user-install). Issue #653 by Lin Jen-Shin.v2.1.3Compare Source
Bug fixes:
#644 by Darragh Curran, #645 by Brandon Turner, #646 by Alex Tambellini
v2.1.2Compare Source
Bug fixes:
request #637 and issue #640 by Charles Nutter.
option is used. Issue #642 by Lin Jen-Shin.
Issue #643 by Brian Shirai.
v2.1.1Bug fixes:
to be removed. Issue #698 by Tiago Macedo.
certificate change.
Pull Request #706 by akr.
v2.1.0Enhancements:
Giddins.
#2112 by Samuel Giddins.
Chaofan.
David Rodríguez.
request #2554 by Grey Baker.
Luis Sagastume.
#2604 by SHIBATA Hiroshi.
Rodríguez.
--ignore-dependenciesflag not installing platform specific gems.Pull request #2631 by David Rodríguez.
gem install --explainlist platforms. Pull request #2634 by DavidRodríguez.
gem update --explainlist platforms. Pull request #2635 by DavidRodríguez.
Rodríguez.
David Rodríguez.
Hiroshi.
Hiroshi.
#2675 by SHIBATA Hiroshi.
Christopher Baines.
#2732 by Alex Junger.
request #2735 by MSP-Greg.
ruby setup.rbwarnings. Pull request #2737 by David Rodríguez.#2738 by Luis Sagastume.
#2741 by David Rodríguez.
add_to_load_pathmethod. Pull request #2749 by DavidRodríguez.
#2766 by Jeremy Evans.
request #2777 by Yusuke Endoh.
Sagastume.
#2780 by Alexey Shein.
Pull request #2782 by Luis Sagastume.
#2783 by Sorah Fukumori.
rake packageworks. Pull request #2787 by David Rodríguez.request #2789 by Benoit Daloze.
Rodríguez.
Pull request #2796 by Daniel Berger.
Luis Sagastume.
Sagastume.
rake packagetest error message. Pull request #2815 by DavidRodríguez.
@@​project_dirfrom test file paths. Pull request #2843 byNobuyoshi Nakada.
Dash.
#2938 by Nobuyoshi Nakada.
Hiroshi.
#2933 by Nobuyoshi Nakada.
Rodríguez.
request #2894 by Alexander Pakulov.
gem uninstall --all. Pull request #2893 by David Rodríguez.RbConfig::CONFIG['rubylibprefix']. Pull request #2889 by NobuyoshiNakada.
build. Pull request #2887 by Luis Sagastume.
Nobuyoshi Nakada.
request #2864 by Benoit Daloze.
rake package. Pull request #2862 by DavidRodríguez.
#2861 by David Rodríguez.
Sagastume.
request #2846 by Luis Sagastume.
Pull request #2841 by Vít Ondruch.
#2838 by SHIBATA Hiroshi.
request #2834 by Luis Sagastume.
Berger.
Bug fixes:
Patterson.
gem install. Pullrequest #2628 by David Rodríguez.
Nobuyoshi Nakada.
Ellen Marie Dash.
by David Rodríguez.
find_spec_for_exewithout anexec_name. Pull request #2706 byDavid Rodríguez.
request #2710 by Luis Sagastume.
Rodríguez.
SHIBATA Hiroshi.
Rodríguez.
bin/. Pullrequest #2649 by David Rodríguez.
request #2650 by David Rodríguez.
Deprecations:
#2857 by SHIBATA Hiroshi.
Sagastume.
rubyforge_project. Pull request #2798 by DavidRodríguez.
Ondruch.
Sagastume.
Breaking changes:
ITO.
Pull request #2802 by Luis Sagastume.
others_possibleactivation request param. Pull request #2747 byDavid Rodríguez.
Sagastume.
by SHIBATA Hiroshi.
Rodríguez.
#2685 by SHIBATA Hiroshi.
v2.0.2Compare Source
Bug fixes:
upgrade any HTTP source to HTTPS. Credit to Alex Gaynor.
v2.0.1Bug fixes:
v2.0.0RubyGems 2.0 includes several new features and many breaking changes. Some of
these changes will cause existing software to break. These changes are a
result of improvements to the internals of RubyGems that make it more
maintainable and improve APIs for RubyGems users.
If you are using bundler be sure to install a 1.3.0.prerelease version or
newer. Older versions of bundler will not work with RubyGems 2.0.
Changes since RubyGems 1.8.25 (including past pre-releases):
Breaking changes:
Gem::Specification.unresolved_deps
instead of Gem::Builder.new(spec).build
of Gem::Format.from_file_by_path
automatically detect old gems for you, so there is no need to refer to it.
gem buildEnhancements:
gem searchnow defaults to --remote and is anchored like gem list. Fixes#166
documentation, --document=rdoc to only generate rdoc.
gem serveruses RDoc::Servlet from RDoc 4.0 to generate HTMLdocumentation.
file (Gemfile, Isolate, gem.deps.rb)
gem install --file pathfile (Gemfile, Isolate, gem.deps.rb).
Set RUBYGEMS_GEMDEPS=path to have it loaded. Use - as the path
to autodetect (current and parent directories are searched).
gem check --doctorto clean up after failed uninstallation. Bug#419 by Erik Hollensbe
broken. Now you must manually say "yes". Pull Request #406 by Shannon
Skipper.
Pull Request #412 by Sam Rawlins.
gem pristine. Fixes #326gem envfinishes installing a set of gems
can specify per-gem versions like
rake:0.9.5Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.