Fix gating QA tests for CVE backports on PCP 5.3.7

QA 2101 referenced undefined $seq_full and qa/common.pmcd.pdu used the
same variable on the 5.3.7 testsuite; use $here/$seq.full instead.

Resolves: RHEL-213729 CVE-2026-16529
Resolves: RHEL-213720 CVE-2026-16527
Resolves: RHEL-213686 CVE-2026-16526
Resolves: RHEL-213662 CVE-2026-16524
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jan Kurik 2026-08-14 07:11:28 +02:00
parent 1999e78348
commit 1a99eed1b6
No known key found for this signature in database
3 changed files with 12 additions and 10 deletions

View File

@ -1,6 +1,6 @@
Name: pcp
Version: 5.3.7
Release: 22%{?dist}.4
Release: 22%{?dist}.5
Summary: System-level performance monitoring and performance management
License: GPLv2+ and LGPLv2+ and CC-BY
URL: https://pcp.io
@ -3387,6 +3387,9 @@ fi
%files zeroconf -f pcp-zeroconf-files.rpm
%changelog
* Fri Aug 14 2026 Jan Kurik <jkurik@redhat.com> - 5.3.7-22.5
- Fix qa/2101 and qa/common.pmcd.pdu for PCP 5.3.7 testsuite compatibility
* Thu Jul 30 2026 RHEL Packaging Agent <redhat-ymir-agent@redhat.com> - 5.3.7-22.4
- Fix CVE-2026-16524: command injection in linux_sockets PMDA (RHEL-213662)

View File

@ -43,7 +43,7 @@ new file mode 100755
index 000000000..733b7f70c
--- /dev/null
+++ b/qa/2101
@@ -0,0 +1,70 @@
@@ -0,0 +1,69 @@
+#!/bin/sh
+# PCP QA Test No. 2101
+# Verify linux_sockets PMDA filter validation rejects shell metacharacters
@ -80,7 +80,6 @@ index 000000000..733b7f70c
+cd $PCP_PMDAS_DIR/sockets
+$sudo ./Remove >/dev/null 2>&1
+$sudo ./Install </dev/null >$tmp.out 2>&1
+cat $tmp.out >>$seq_full
+
+# check the PMDA is alive
+pmprobe -v network.persocket.filter >$tmp.probe 2>&1

View File

@ -118,14 +118,14 @@ index 000000000..8fa832aa8
+then
+ __nc_opt="--send-only"
+else
+ cat $tmp.out >>$seq_full
+ _notrun 'nc --help is not helping ... see $seq_full'
+ cat $tmp.out >>$here/$seq.full
+ _notrun 'nc --help is not helping ... see $seq.full'
+fi
+_check_valgrind
+
+_cleanup()
+{
+ cat pmcd.log >>$seq_full
+ cat pmcd.log >>$here/$seq.full
+ cd $here
+ $sudo rm -rf $tmp $tmp.*
+}
@ -154,16 +154,16 @@ index 000000000..8fa832aa8
+$PCP_AWK_PROG <$PCP_PMCDCONF_PATH >>pmcd.conf '
+$1 == "[access]" { print ""; want = 1 }
+want == 1 { print }'
+cat pmcd.conf >>$seq_full
+cat pmcd.conf >>$here/$seq.full
+__port=`_find_free_port`
+echo "__port=$__port" >>$seq_full
+echo "__port=$__port" >>$here/$seq.full
+
+# real QA test starts here
+valgrind --leak-check=full $PCP_BINADM_DIR/pmcd -f -Dpdu,appl3,attr -c ./pmcd.conf -s ./pmcd.socket -p $__port >out 2>err &
+valgrind_pid=$!
+sleep 2
+__pmcd_pid=`$PCP_PS_PROG $PCP_PS_ALL_FLAGS | grep '[p]mcd -f -Dpdu' | $PCP_AWK_PROG '{ print $2 }'`
+echo "__pmcd_pid=$__pmcd_pid" >>$seq_full
+echo "__pmcd_pid=$__pmcd_pid" >>$here/$seq.full
+case "`file $here/$pdu_data`"
+in
+ *'ASCII text'*)
@ -176,7 +176,7 @@ index 000000000..8fa832aa8
+ nc $__nc_opt <$here/$pdu_data localhost $__port 2>&1 \
+ ;;
+esac \
+| od -X >>$seq_full
+| od -X >>$here/$seq.full
+sleep 2
+kill -TERM $__pmcd_pid
+wait