{"id":"ALPINE-CVE-2021-31810","details":"An issue was discovered in Ruby through 2.6.7, 2.7.x through 2.7.3, and 3.x through 3.0.1. A malicious FTP server can use the PASV response to trick Net::FTP into connecting back to a given IP address and port. This potentially makes curl extract information about services that are otherwise private and not disclosed (e.g., the attacker can conduct port scans and service banner extractions).","modified":"2026-09-15T08:17:46.652363065Z","published":"2021-07-13T13:15:09.243Z","upstream":["CVE-2021-31810"],"references":[{"type":"ADVISORY","url":"https://security.alpinelinux.org/vuln/CVE-2021-31810"}],"affected":[{"package":{"name":"ruby","ecosystem":"Alpine:v3.11","purl":"pkg:apk/alpine/ruby?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.7.0"},{"fixed":"2.6.8-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/alpine/ALPINE-CVE-2021-31810.json"}},{"package":{"name":"ruby","ecosystem":"Alpine:v3.12","purl":"pkg:apk/alpine/ruby?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.7.0"},{"fixed":"2.7.4-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/alpine/ALPINE-CVE-2021-31810.json"}},{"package":{"name":"ruby","ecosystem":"Alpine:v3.13","purl":"pkg:apk/alpine/ruby?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.7.0"},{"fixed":"2.7.4-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/alpine/ALPINE-CVE-2021-31810.json"}},{"package":{"name":"ruby","ecosystem":"Alpine:v3.14","purl":"pkg:apk/alpine/ruby?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.7.0"},{"fixed":"2.7.4-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/alpine/ALPINE-CVE-2021-31810.json"}},{"package":{"name":"ruby","ecosystem":"Alpine:v3.15","purl":"pkg:apk/alpine/ruby?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.7.0"},{"fixed":"2.7.4-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/alpine/ALPINE-CVE-2021-31810.json"}},{"package":{"name":"ruby","ecosystem":"Alpine:v3.16","purl":"pkg:apk/alpine/ruby?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.7.0"},{"fixed":"2.7.4-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/alpine/ALPINE-CVE-2021-31810.json"}},{"package":{"name":"ruby","ecosystem":"Alpine:v3.17","purl":"pkg:apk/alpine/ruby?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.7.0"},{"fixed":"2.7.4-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/alpine/ALPINE-CVE-2021-31810.json"}},{"package":{"name":"ruby","ecosystem":"Alpine:v3.18","purl":"pkg:apk/alpine/ruby?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.7.0"},{"fixed":"2.7.4-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/alpine/ALPINE-CVE-2021-31810.json"}},{"package":{"name":"ruby","ecosystem":"Alpine:v3.19","purl":"pkg:apk/alpine/ruby?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.7.0"},{"fixed":"2.7.4-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/alpine/ALPINE-CVE-2021-31810.json"}},{"package":{"name":"ruby","ecosystem":"Alpine:v3.20","purl":"pkg:apk/alpine/ruby?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.7.0"},{"fixed":"2.7.4-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/alpine/ALPINE-CVE-2021-31810.json"}},{"package":{"name":"ruby","ecosystem":"Alpine:v3.21","purl":"pkg:apk/alpine/ruby?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.7.0"},{"fixed":"2.7.4-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/alpine/ALPINE-CVE-2021-31810.json"}},{"package":{"name":"ruby","ecosystem":"Alpine:v3.22","purl":"pkg:apk/alpine/ruby?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.7.0"},{"fixed":"2.7.4-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/alpine/ALPINE-CVE-2021-31810.json"}},{"package":{"name":"ruby","ecosystem":"Alpine:v3.23","purl":"pkg:apk/alpine/ruby?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.7.0"},{"fixed":"2.7.4-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/alpine/ALPINE-CVE-2021-31810.json"}},{"package":{"name":"ruby","ecosystem":"Alpine:v3.24","purl":"pkg:apk/alpine/ruby?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.7.0"},{"fixed":"2.7.4-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/alpine/ALPINE-CVE-2021-31810.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N"}]}