{"id":"UBUNTU-CVE-2026-60122","details":"gpsd through release-3.27.5, fixed at commit 4c06658, contains a code injection vulnerability in the gpsprof utility that allows an attacker who controls GPS input data to execute arbitrary OS commands by injecting malicious content into the SKY.satellites[].used field, which is inserted unsanitized into a gnuplot heredoc data block. Attackers can supply a used value containing the string EOD to terminate the heredoc early and append gnuplot system() calls, achieving OS command execution as the user running gpsprof when the generated plot script is processed by gnuplot in polar mode.","modified":"2026-08-17T23:45:23.393911257Z","published":"2026-07-23T20:17:00Z","upstream":["CVE-2026-60122"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-60122"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-60122"},{"type":"REPORT","url":"https://www.vulncheck.com/advisories/gpsd-gpsprof-code-injection-via-sky-satellites-used-field"}],"affected":[{"package":{"name":"gpsd","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/gpsd?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.11-3","3.15-2","3.15-2build1"],"ecosystem_specific":{"binaries":[{"binary_version":"3.15-2build1","binary_name":"gpsd"},{"binary_name":"gpsd-clients","binary_version":"3.15-2build1"},{"binary_name":"libgps22","binary_version":"3.15-2build1"},{"binary_version":"3.15-2build1","binary_name":"libqgpsmm22"},{"binary_version":"3.15-2build1","binary_name":"python-gps"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-60122.json"}},{"package":{"name":"gpsd","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/gpsd?arch=source&distro=bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.16-4","3.17-3","3.17-5"],"ecosystem_specific":{"binaries":[{"binary_name":"gpsd","binary_version":"3.17-5"},{"binary_name":"gpsd-clients","binary_version":"3.17-5"},{"binary_name":"libgps23","binary_version":"3.17-5"},{"binary_version":"3.17-5","binary_name":"libqgpsmm23"},{"binary_name":"python-gps","binary_version":"3.17-5"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-60122.json"}},{"package":{"name":"gpsd","ecosystem":"Ubuntu:20.04:LTS","purl":"pkg:deb/ubuntu/gpsd?arch=source&distro=focal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.17-7","3.19-3","3.20-1","3.20-3","3.20-4","3.20-4build1","3.20-5ubuntu1","3.20-6","3.20-8","3.20-8ubuntu0.1","3.20-8ubuntu0.2","3.20-8ubuntu0.4"],"ecosystem_specific":{"binaries":[{"binary_name":"gpsd","binary_version":"3.20-8ubuntu0.4"},{"binary_version":"3.20-8ubuntu0.4","binary_name":"gpsd-clients"},{"binary_name":"libgps26","binary_version":"3.20-8ubuntu0.4"},{"binary_name":"libqgpsmm26","binary_version":"3.20-8ubuntu0.4"},{"binary_version":"3.20-8ubuntu0.4","binary_name":"python3-gps"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-60122.json"}},{"package":{"name":"gpsd","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/gpsd?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.22-4","3.22-4ubuntu1","3.22-4ubuntu2","3.22-4ubuntu2.1"],"ecosystem_specific":{"binaries":[{"binary_name":"gpsd","binary_version":"3.22-4ubuntu2.1"},{"binary_name":"gpsd-clients","binary_version":"3.22-4ubuntu2.1"},{"binary_name":"gpsd-tools","binary_version":"3.22-4ubuntu2.1"},{"binary_version":"3.22-4ubuntu2.1","binary_name":"libgps28"},{"binary_name":"libqgpsmm28","binary_version":"3.22-4ubuntu2.1"},{"binary_version":"3.22-4ubuntu2.1","binary_name":"python3-gps"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-60122.json"}},{"package":{"name":"gpsd","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/gpsd?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.25-2ubuntu2","3.25-3ubuntu2","3.25-3ubuntu3","3.25-3ubuntu3.1","3.25-3ubuntu3.2"],"ecosystem_specific":{"binaries":[{"binary_version":"3.25-3ubuntu3.2","binary_name":"gpsd"},{"binary_name":"gpsd-clients","binary_version":"3.25-3ubuntu3.2"},{"binary_name":"gpsd-tools","binary_version":"3.25-3ubuntu3.2"},{"binary_version":"3.25-3ubuntu3.2","binary_name":"libgps30t64"},{"binary_version":"3.25-3ubuntu3.2","binary_name":"libqgpsmm30t64"},{"binary_name":"python3-gps","binary_version":"3.25-3ubuntu3.2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-60122.json"}},{"package":{"name":"gpsd","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/gpsd?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.25-5ubuntu1","3.27-1.1","3.27-1.1ubuntu1","3.27.5-0.1"],"ecosystem_specific":{"binaries":[{"binary_version":"3.27.5-0.1","binary_name":"gpsd"},{"binary_name":"gpsd-clients","binary_version":"3.27.5-0.1"},{"binary_version":"3.27.5-0.1","binary_name":"gpsd-tools"},{"binary_name":"libgps32","binary_version":"3.27.5-0.1"},{"binary_version":"3.27.5-0.1","binary_name":"libqgpsmm32"},{"binary_version":"3.27.5-0.1","binary_name":"python3-gps"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-60122.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"},{"type":"CVSS_V4","score":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"},{"type":"Ubuntu","score":"medium"}]}