Mock Version: 6.2 Mock Version: 6.2 Mock Version: 6.2 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target x86_64 --nodeps /builddir/build/SPECS/perl-Cpanel-JSON-XS.spec'], chrootPath='/var/lib/mock/dist-an23-build-555493-89295/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=86400uid=989gid=135user='mockbuild'unshare_net=TrueprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock']) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target x86_64 --nodeps /builddir/build/SPECS/perl-Cpanel-JSON-XS.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1784678400 Wrote: /builddir/build/SRPMS/perl-Cpanel-JSON-XS-4.40-2.an23.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --noclean --target x86_64 --nodeps /builddir/build/SPECS/perl-Cpanel-JSON-XS.spec'], chrootPath='/var/lib/mock/dist-an23-build-555493-89295/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=86400uid=989gid=135user='mockbuild'unshare_net=TrueprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock']) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --noclean --target x86_64 --nodeps /builddir/build/SPECS/perl-Cpanel-JSON-XS.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1784678400 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.vgRjEF + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf Cpanel-JSON-XS-4.40 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/Cpanel-JSON-XS-4.40.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd Cpanel-JSON-XS-4.40 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/Cpanel-JSON-XS-4.20-signature.patch + /usr/bin/patch -p0 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/fix-CVE-2026-9334.patch + /usr/bin/patch -p0 -s --fuzz=0 --no-backup-if-mismatch -f The text leading up to this was: -------------------------- |From 11a7c550a0d8fac2f84414f24d5df9b2bfe346e2 Mon Sep 17 00:00:00 2001 |From: Paul Johnson |Date: Tue, 26 May 2026 00:49:23 +0200 |Subject: [PATCH] dupkeys_as_arrayref type confusion (CVE-2026-9334) | |The defect is in decode_hv() in XS.xs (slow path 3995-4009, fast path |4065-4080): with dupkeys_as_arrayref(1) enabled, input containing duplicates for |two or more distinct keys triggers a type-confusion crash. | |Reproducer: | | perl -MCpanel::JSON::XS -E ' | Cpanel::JSON::XS->new->utf8 | ->dupkeys_as_arrayref(1) | ->decode(q({"a":1,"a":2,"b":3,"b":4})) | ' | # Segmentation fault | |Two coding mistakes combine. The `dupkeys_first` flag is per-decode and cleared |on the first wrap (XS.xs:4034, :4106), so the second distinct key's first |duplicate enters the else-if branch with `old_value` still an unwrapped scalar. |That branch (XS.xs:4004-4005, :4075-4076) was meant to error out unless |`old_value` is already an arrayref, but uses `&&` where it should use `||`, so |it never fires. `SvRV` is then called on a non-reference and the resulting |bogus `AV *` is passed to `av_push`. |--- | XS.xs | 65 ++++++++++++++++++++++++------------------------ | t/26_duplicate.t | 32 +++++++++++++++++++++++- | 2 files changed, 63 insertions(+), 34 deletions(-) | |diff --git a/XS.xs b/XS.xs |index 4a68e73..7e6b4f2 100755 |--- a/XS.xs |+++ b/XS.xs -------------------------- No file to patch. Skipping patch. 7 out of 7 hunks ignored The text leading up to this was: -------------------------- |diff --git a/t/26_duplicate.t b/t/26_duplicate.t |index c75ea88..681b729 100644 |--- a/t/26_duplicate.t |+++ b/t/26_duplicate.t -------------------------- No file to patch. Skipping patch. 2 out of 2 hunks ignored RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.vgRjEF (%prep) Bad exit status from /var/tmp/rpm-tmp.vgRjEF (%prep) Child return code was: 1 EXCEPTION: [Error("Command failed: \n # bash --login -c '/usr/bin/rpmbuild -bb --noclean --target x86_64 --nodeps /builddir/build/SPECS/perl-Cpanel-JSON-XS.spec'\n", 1)] Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/mockbuild/trace_decorator.py", line 93, in trace result = func(*args, **kw) File "/usr/lib/python3.6/site-packages/mockbuild/util.py", line 610, in do_with_status raise exception.Error("Command failed: \n # %s\n%s" % (cmd_pretty(command, env), output), child.returncode) mockbuild.exception.Error: Command failed: # bash --login -c '/usr/bin/rpmbuild -bb --noclean --target x86_64 --nodeps /builddir/build/SPECS/perl-Cpanel-JSON-XS.spec'