Path traversal in Tzinfo - CVE-2022-31163
Published: October 31, 2022
Vulnerability details
The vulnerability allows a remote attacker to perform directory traversal attacks.
The vulnerability exists due to input validation error when processing a new line character in the TZInfo::Timezone.get. With Ruby version 1.9.3 and later, TZInfo::Timezone.get can be made to load unintended files with require, executing them within the Ruby process. A remote attacker can pass specially crafted input to the application and execute arbitrary code on the system.
Exploitation example:
TZInfo::Timezone.get("foo\n/../../../../../../../../../../../../../../../../tmp/payload")
Affected software
tfm-rubygem-tzinfo (Red Hat package)
tfm-rubygem-rack (Red Hat package)
tfm-rubygem-smart_proxy_ansible (Red Hat package)
foreman-proxy (Red Hat package)
foreman (Red Hat package)
ansible-collection-redhat-satellite (Red Hat package)
tfm-rubygem-katello (Red Hat package)
satellite (Red Hat package)
rubygem-thread_safe (Red Hat package)
rubygem-mustermann (Red Hat package)
rubygem-foreman_maintain (Red Hat package)
rubygem-concurrent-ruby (Red Hat package)
ruby2.1-rubygem-tzinfo
ruby2.5-rubygem-tzinfo-testsuite
ruby2.5-rubygem-tzinfo-doc
ruby2.5-rubygem-tzinfo
rubygem-tzinfo-doc
rubygem-tzinfo
rubygem-tzinfo (Red Hat package)
rubygem-i18n (Red Hat package)
python-django (Red Hat package)
tfm-rubygem-foreman_webhooks (Red Hat package)
rubygem-foreman_webhooks (Red Hat package)
rubygem-tilt (Red Hat package)
rubygem-sinatra (Red Hat package)
rubygem-rack-protection (Red Hat package)
rubygem-rack (Red Hat package)
rubygem-nio4r (Red Hat package)
ruby (Red Hat package)
rubygem-bcrypt (Red Hat package)
rubygem-smart_proxy_ansible (Red Hat package)
rubygem-katello (Red Hat package)
rubygem-puma (Red Hat package)
rubygem-activesupport (Red Hat package)
rubygem-activemodel (Red Hat package)
grafana (Red Hat package)
SUSE Manager Proxy
SUSE Manager Server
SUSE Manager Retail Branch Server
SUSE Linux Enterprise Storage
Fedora
SUSE OpenStack Cloud Crowbar
SUSE Linux Enterprise Server for SAP Applications
SUSE Linux Enterprise Server
SUSE Linux Enterprise High Availability
SUSE Linux Enterprise High Performance Computing
openSUSE Leap
openEuler
Red Hat Satellite
How to mitigate CVE-2022-31163
tfm-rubygem-tzinfo (Red Hat package) - update to 1.2.10-1.el7sat
tfm-rubygem-rack (Red Hat package) - update to 2.2.3.1-1.el7sat
tfm-rubygem-smart_proxy_ansible (Red Hat package) - update to 3.3.1-4.el7sat
foreman-proxy (Red Hat package) - addressed in versions 3.1.1.3-1.el7sat, 3.1.1.3-1.el8sat
foreman (Red Hat package) - addressed in versions 3.1.1.25-1.el7sat, 3.1.1.25-1.el8sat
ansible-collection-redhat-satellite (Red Hat package) - addressed in versions 3.6.0-3.el7sat, 3.6.0-3.el8sat
tfm-rubygem-katello (Red Hat package) - update to 4.3.0.50-1.el7sat
satellite (Red Hat package) - addressed in versions 6.11.4-2.el7sat, 6.11.4-2.el8sat
Red Hat Satellite - addressed in versions 6.11.4, 6.13
rubygem-thread_safe (Red Hat package) - update to 0.3.6-1.el7rhgs
rubygem-mustermann (Red Hat package) - update to 1.0.3-1.el7rhgs
rubygem-foreman_maintain (Red Hat package) - addressed in versions 1.0.18-1.el7sat, 1.0.18-1.el8sat
rubygem-concurrent-ruby (Red Hat package) - update to 1.1.9-1.el7rhgs
ruby2.1-rubygem-tzinfo - update to 1.2.2-3.3.1
ruby2.5-rubygem-tzinfo-testsuite - update to 1.2.4-150000.3.3.1
ruby2.5-rubygem-tzinfo-doc - update to 1.2.4-150000.3.3.1
ruby2.5-rubygem-tzinfo - update to 1.2.4-150000.3.3.1
rubygem-tzinfo-doc - update to 1.2.5-3
rubygem-tzinfo - update to 1.2.5-3
rubygem-tzinfo - update to 1.2.10-1.el7
rubygem-tzinfo (Red Hat package) - addressed in versions 1.2.10-1.el8sat, 1.2.10-1.el7rhgs
rubygem-i18n (Red Hat package) - update to 1.9.1-1.el7rhgs
python-django (Red Hat package) - update to 1.11.27-4.el7rhgs
tfm-rubygem-foreman_webhooks (Red Hat package) - update to 2.0.3-1.el7sat
rubygem-foreman_webhooks (Red Hat package) - update to 2.0.3-1.el8sat
rubygem-tilt (Red Hat package) - update to 2.0.11-1.el7rhgs
rubygem-sinatra (Red Hat package) - update to 2.2.0-1.el7rhgs
rubygem-rack-protection (Red Hat package) - update to 2.2.0-1.el7rhgs
rubygem-rack (Red Hat package) - addressed in versions 2.2.3.1-1.el8sat, 2.2.4-1.el7rhgs
rubygem-nio4r (Red Hat package) - update to 2.3.1-2.el7rhgs
ruby (Red Hat package) - update to 2.4.9-94.el7rhgs
rubygem-bcrypt (Red Hat package) - update to 3.1.12-2.el7rhgs
rubygem-smart_proxy_ansible (Red Hat package) - update to 3.3.1-4.el8sat
rubygem-katello (Red Hat package) - update to 4.3.0.50-1.el8sat
rubygem-puma (Red Hat package) - update to 4.3.12-1.el7rhgs
rubygem-activesupport (Red Hat package) - update to 5.2.0-1.el7rhgs
rubygem-activemodel (Red Hat package) - update to 5.2.0-1.el7rhgs
grafana (Red Hat package) - update to 5.2.4-6.el7rhgs
External References
- https://github.com/tzinfo/tzinfo/releases/tag/v0.3.61
- https://github.com/tzinfo/tzinfo/security/advisories/GHSA-5cm2-9h8c-rvfx
- https://github.com/tzinfo/tzinfo/releases/tag/v1.2.10
- https://github.com/tzinfo/tzinfo/commit/9eddbb5c0e682736f61d0dd803b6031a5db9eadf
- https://github.com/tzinfo/tzinfo/commit/9905ca93abf7bf3e387bd592406e403cd18334c7
Related Security Bulletins
- Path traversal in TZInfo
- Multiple vulnerabilities in Red Hat Satellite 6.11
- SUSE update for rubygem-tzinfo
- SUSE update for rubygem-tzinfo
- Multiple vulnerabilities in Red Hat Gluster Storage 3.5 for RHEL 7
- Multiple vulnerabilities in Red Hat Satellite 6.13
- openEuler 20.03 LTS SP1 update for rubygem-tzinfo
- openEuler 20.03 LTS SP4 update for rubygem-tzinfo
- Fedora EPEL 7 update for rubygem-tzinfo