Description
RubyGems Delete directory using symlink when decompressing tar
A Directory Traversal issue was discovered in RubyGems 2.7.6 and later through 3.0.2. Before making new directories or touching files (which now include path-checking code for symlinks), it would delete the target destination. If that destination was hidden behind a symlink, a malicious gem could delete arbitrary files on the user's machine, presuming the attacker could guess at paths. Given how frequently gem is run as sudo, and how predictable paths are on modern systems (/tmp, /usr, etc.), this could likely lead to data loss or an unusable system.
Mitigation
Minimal update. May introduce new vulnerabilities or breaking changes.
|
 rubygems | | >=2.7.6 <2.7.9 || >=3.0.0 <3.0.3 | 2.7.9, 3.0.3 |
 debian 12 | | | 3.2.0~rc.1-1 |
 debian 13 | | | 3.2.0~rc.1-1 |
 alpine v3.7 | | =1.8.7_p160-r2 || =1.8.7_p160-r3 || =1.8.7_p174-r0 || =1.8.7_p174-r1 || =1.8.7_p174-r2 || =1.8.7_p174-r3 || =1.8.7_p174-r4 || =1.8.7_p174-r6 || =1.8.7_p174-r7 || =1.8.7_p299-r0 || =1.8.7_p299-r1 || =1.8.7_p299-r2 || =1.8.7_p352-r0 || =1.8.7_p352-r1 || =1.8.7_p358-r1 || =1.8.7_p72-r1 || =1.8.7_p72-r2 || =1.9.3_p194-r0 || =1.9.3_p286-r0 || =1.9.3_p286-r1 || =1.9.3_p286-r2 || =1.9.3_p327-r0 || =1.9.3_p362-r0 || =1.9.3_p374-r0 || =1.9.3_p385-r0 || =1.9.3_p392-r0 || =2.0.0_p0-r0 || =2.0.0_p0-r1 || =2.0.0_p195-r0 || =2.0.0_p247-r0 || =2.0.0_p247-r1 || =2.0.0_p247-r2 || =2.0.0_p247-r3 || =2.0.0_p353-r0 || =2.0.0_p353-r1 || =2.0.0_p353-r2 || =2.0.0_p481-r0 || =2.1.5-r0 || =2.1.5-r1 || =2.2.1-r0 || =2.2.2-r0 || =2.2.2-r1 || =2.2.3-r0 || =2.2.3-r1 || =2.2.4-r0 || =2.3.1-r0 || =2.3.1-r1 || =2.3.1-r2 || =2.3.2-r0 || =2.3.3-r0 || =2.3.3-r1 || =2.3.3-r2 || =2.3.3-r3 || =2.4.0-r3 || =2.4.1-r1 || =2.4.1-r2 || =2.4.1-r3 || =2.4.1-r4 || =2.4.1-r5 || =2.4.2-r0 || =2.4.2-r1 || =2.4.3-r0 || =2.4.4-r0 || =2.4.5-r0 || >=0 <2.4.6-r0 | 2.4.6-r0 |
 alpine v3.9 | | =1.8.7_p160-r2 || =1.8.7_p160-r3 || =1.8.7_p174-r0 || =1.8.7_p174-r1 || =1.8.7_p174-r2 || =1.8.7_p174-r3 || =1.8.7_p174-r4 || =1.8.7_p174-r6 || =1.8.7_p174-r7 || =1.8.7_p299-r0 || =1.8.7_p299-r1 || =1.8.7_p299-r2 || =1.8.7_p352-r0 || =1.8.7_p352-r1 || =1.8.7_p358-r1 || =1.8.7_p72-r1 || =1.8.7_p72-r2 || =1.9.3_p194-r0 || =1.9.3_p286-r0 || =1.9.3_p286-r1 || =1.9.3_p286-r2 || =1.9.3_p327-r0 || =1.9.3_p362-r0 || =1.9.3_p374-r0 || =1.9.3_p385-r0 || =1.9.3_p392-r0 || =2.0.0_p0-r0 || =2.0.0_p0-r1 || =2.0.0_p195-r0 || =2.0.0_p247-r0 || =2.0.0_p247-r1 || =2.0.0_p247-r2 || =2.0.0_p247-r3 || =2.0.0_p353-r0 || =2.0.0_p353-r1 || =2.0.0_p353-r2 || =2.0.0_p481-r0 || =2.1.5-r0 || =2.1.5-r1 || =2.2.1-r0 || =2.2.2-r0 || =2.2.2-r1 || =2.2.3-r0 || =2.2.3-r1 || =2.2.4-r0 || =2.3.1-r0 || =2.3.1-r1 || =2.3.1-r2 || =2.3.2-r0 || =2.3.3-r0 || =2.3.3-r1 || =2.3.3-r2 || =2.3.3-r3 || =2.4.0-r3 || =2.4.1-r1 || =2.4.1-r2 || =2.4.1-r3 || =2.4.1-r4 || =2.4.1-r5 || =2.4.2-r0 || =2.4.2-r1 || =2.4.3-r0 || =2.5.0-r0 || =2.5.0-r1 || =2.5.1-r0 || =2.5.1-r1 || =2.5.1-r2 || =2.5.2-r0 || =2.5.3-r0 || =2.5.3-r1 || >=0 <2.5.5-r0 | 2.5.5-r0 |
 debian 12 | | | 9.1.17.0-3 |
 debian 13 | | | 9.1.17.0-3 |
 debian 14 | | | 9.1.17.0-3 |
 debian 11 | | | 3.2.0~rc.1-1 |
 debian 14 | | | 3.2.0~rc.1-1 |