public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/gpsd-epel] epel10: fix command injection in gpsprof (CVE-2026-58459)
@ 2026-09-21 14:13 Troy Dawson
0 siblings, 0 replies; only message in thread
From: Troy Dawson @ 2026-09-21 14:13 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/gpsd-epel
Branch : epel10
Commit : 0afbff1de5a43dfb1f70f6ed09c4c342154655ce
Author : Troy Dawson <tdawson@redhat.com>
Date : 2026-09-21T07:12:54-07:00
Stats : +178/-1 in 3 file(s)
URL : https://src.fedoraproject.org/rpms/gpsd-epel/c/0afbff1de5a43dfb1f70f6ed09c4c342154655ce?branch=epel10
Log:
fix command injection in gpsprof (CVE-2026-58459)
fix another command injection in gpsprof (CVE-2026-60122)
---
diff --git a/gpsd-cve-2026-58459.patch b/gpsd-cve-2026-58459.patch
new file mode 100644
index 0000000..8e10713
--- /dev/null
+++ b/gpsd-cve-2026-58459.patch
@@ -0,0 +1,130 @@
+commit 5581ba196d826a984fbfaf792b7d58535f9911ce
+Author: Gary E. Miller <gem@rellim.com>
+Date: Wed Jul 1 17:55:57 2026 -0700
+
+ clients/gpsprof.py.in: Quote double quotes in title.
+
+ Someone could use the double quote to break out of the
+ string and add gnuplot commnds.
+
+ For issue 404.
+ Reported by: CuB3y0nd, and Wade Sparks <wsparks@vulncheck.com>
+
+diff --git a/clients/gpsprof.py.in b/clients/gpsprof.py.in
+index 5c18f50ff..261e72665 100644
+--- a/clients/gpsprof.py.in
++++ b/clients/gpsprof.py.in
+@@ -198,6 +198,10 @@ class plotter(object):
+ if 'subtype' in self.device:
+ desc += "\\n%s" % self.device['subtype']
+
++ # escape ", and \n, for gnuplot, to not break strings
++ desc = desc.replace('"', '\\042')
++ desc = desc.replace('\n', '')
++
+ return desc
+
+ def collect(self, verb, log_fp=None):
+@@ -1262,10 +1266,10 @@ if __name__ == '__main__':
+ # Ship the plot to standard output
+ if not options.title:
+ options.title = plot.whatami()
+- # escape " for gnuplot
+- options.title = options.title.replace('"', '\\"')
+ if options.subtitle:
+ options.title += '\\n' + options.subtitle
++ # escape " for gnuplot, to not break strings
++ options.title = options.title.replace('"', '\\042')
+ term_opts = ""
+ truecolor_terms = ['png', 'sixelgd', 'wxt']
+ if options.terminal in truecolor_terms:
+
+commit 1a6bb7bcbdf58aa940132e630870af061dc88537
+Author: Gary E. Miller <gem@rellim.com>
+Date: Tue Jul 7 13:41:54 2026 -0700
+
+ clients/gpsprof.py.in: Quote back ticks in title.
+
+ Someone could use the back tick to break out of the string and add
+ gnuplot commnds.
+
+ For issue 404.
+ Reported by: CuB3y0nd, and Wade Sparks <wsparks@vulncheck.com>
+
+diff --git a/clients/gpsprof.py.in b/clients/gpsprof.py.in
+index 261e72665..202214769 100644
+--- a/clients/gpsprof.py.in
++++ b/clients/gpsprof.py.in
+@@ -198,8 +198,9 @@ class plotter(object):
+ if 'subtype' in self.device:
+ desc += "\\n%s" % self.device['subtype']
+
+- # escape ", and \n, for gnuplot, to not break strings
++ # escape ", `, and \n, for gnuplot, to not break strings
+ desc = desc.replace('"', '\\042')
++ desc = desc.replace('`', '\\140')
+ desc = desc.replace('\n', '')
+
+ return desc
+@@ -1268,8 +1269,9 @@ if __name__ == '__main__':
+ options.title = plot.whatami()
+ if options.subtitle:
+ options.title += '\\n' + options.subtitle
+- # escape " for gnuplot, to not break strings
++ # escape ", and`, for gnuplot, to not break strings
+ options.title = options.title.replace('"', '\\042')
++ options.title = options.title.replace('"', '\\140')
+ term_opts = ""
+ truecolor_terms = ['png', 'sixelgd', 'wxt']
+ if options.terminal in truecolor_terms:
+
+commit 4c06658e988f4ced1a7a574ce082a22ef625df56
+Author: Gary E. Miller <gem@rellim.com>
+Date: Tue Jul 7 14:23:56 2026 -0700
+
+ clients/gpsprof.py.in: Quote back ticks in title.
+
+ Second try. Also quote "terminal".
+
+ Someone could use the back tick to break out of the string and add
+ gnuplot commnds.
+
+ For issue 404.
+ Reported by: CuB3y0nd, and Wade Sparks <wsparks@vulncheck.com>
+
+diff --git a/clients/gpsprof.py.in b/clients/gpsprof.py.in
+index 202214769..e91367ee3 100644
+--- a/clients/gpsprof.py.in
++++ b/clients/gpsprof.py.in
+@@ -200,7 +200,7 @@ class plotter(object):
+
+ # escape ", `, and \n, for gnuplot, to not break strings
+ desc = desc.replace('"', '\\042')
+- desc = desc.replace('`', '\\140')
++ desc = desc.replace("\x60", '\\140')
+ desc = desc.replace('\n', '')
+
+ return desc
+@@ -1271,13 +1271,19 @@ if __name__ == '__main__':
+ options.title += '\\n' + options.subtitle
+ # escape ", and`, for gnuplot, to not break strings
+ options.title = options.title.replace('"', '\\042')
+- options.title = options.title.replace('"', '\\140')
++ options.title = options.title.replace("\x60", '\\140')
+ term_opts = ""
+ truecolor_terms = ['png', 'sixelgd', 'wxt']
+ if options.terminal in truecolor_terms:
+ term_opts = 'truecolor'
+- sys.stdout.write("set terminal %s size 800,950 %s\n"
+- "set termoption enhanced\n"
++
++ # escape ", `, and \n, for gnuplot, to not break strings
++ options.terminal = options.terminal.replace('"', '\\042')
++ options.terminal = options.terminal.replace("\x60", '\\140')
++ options.terminal = options.terminal.replace('\n', '')
++
++ sys.stdout.write('set terminal "%s" size 800,950 %s\n'
++ 'set termoption enhanced\n'
+ % (options.terminal, term_opts))
+ # double quotes on title so \n is parsed by gnuplot
+ sys.stdout.write('set title noenhanced "%s\\n\\n"\n' % options.title)
diff --git a/gpsd-cve-2026-60122.patch b/gpsd-cve-2026-60122.patch
new file mode 100644
index 0000000..0974247
--- /dev/null
+++ b/gpsd-cve-2026-60122.patch
@@ -0,0 +1,36 @@
+commit 5a9c44a42136b9bb98d460a8a716e9fd344a8d93
+Author: Gary E. Miller <gem@rellim.com>
+Date: Mon Jul 20 20:12:16 2026 -0700
+
+ clients/gpsprof.py.in: ensure sats.used is boolean. Issue 406
+
+ Prevfent command injection by sates.used. Force to boolean.
+
+diff --git a/clients/gpsprof.py.in b/clients/gpsprof.py.in
+index e91367ee3..07123d417 100644
+--- a/clients/gpsprof.py.in
++++ b/clients/gpsprof.py.in
+@@ -334,8 +334,11 @@ class spaceplot(plotter):
+ # get sat used count
+ sats_used = 0
+ for sat in self.session.satellites:
+- if sat.used:
++ if sat.used is True:
+ sats_used += 1
++ else:
++ # ensure it is boolean.
++ sat.used = False
+
+ if 'altHAE' not in self.session.data:
+ self.session.data['altHAE'] = gps.NaN
+@@ -783,6 +786,10 @@ class polarplot(plotter):
+ used += 1
+ if 'polarunused' == self.name:
+ continue
++ else:
++ # ensure it is boolean.
++ sat['used'] = False;
++
+ if (('polarused' == self.name and
+ sat['used'] is False)):
+ continue
diff --git a/gpsd-epel.spec b/gpsd-epel.spec
index 86e76b5..f25b72d 100644
--- a/gpsd-epel.spec
+++ b/gpsd-epel.spec
@@ -12,7 +12,7 @@
Name: gpsd-epel
Version: 3.26.1
-Release: 3%{?dist}
+Release: 5%{?dist}
Epoch: 1
Summary: Service daemon for mediating access to a GPS
@@ -27,6 +27,10 @@ Source11: gpsd.sysconfig
Patch1: gpsd-cve-2025-67268.patch
# fix integer underflow in handling of Navcom packets
Patch2: gpsd-cve-2025-67269.patch
+# fix command injection in gpsprof
+Patch3: gpsd-cve-2026-58459.patch
+# fix another command injection in gpsprof
+Patch4: gpsd-cve-2026-60122.patch
BuildRequires: gcc
BuildRequires: dbus-devel
@@ -256,6 +260,13 @@ rm -rf %{buildroot}%{python3_sitearch}/gps*
%changelog
+
+* Wed Sep 16 2026 Miroslav Lichvar <mlichvar@redhat.com> - 1:3.26.1-5
+- fix another command injection in gpsprof (CVE-2026-60122)
+
+* Mon Aug 10 2026 Miroslav Lichvar <mlichvar@redhat.com> - 1:3.26.1-4
+- fix command injection in gpsprof (CVE-2026-58459)
+
* Mon Jan 26 2026 Troy Dawson <tdawson@redhat.com> - 1:3.26.1-3
- Match RHEL 10 version-release
- fix buffer overflow in NMEA2000 driver (CVE-2025-67268)
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-21 14:13 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-21 14:13 [rpms/gpsd-epel] epel10: fix command injection in gpsprof (CVE-2026-58459) Troy Dawson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox