The Xserver uses the mechanism of "privates" to store additional data to its own objects, each private has an associate "type". Each private is allocated for the relevant size of memory that is declared at creation. The cursor structure in the Xserver goes as far as having two keys, one for the cursor itself and another one for the bits that make the cursor shape. XSELINUX also uses privates but it's a bit of a special case because it uses the same privates keys for all different objects. What happens here is that the cursor code in both Xephyr and Xwayland uses the wrong type of private at creation, using the cursor bits type with the cursor private and when initiating the cursor, the overwrites the XSELINUX context.
Created tigervnc tracking bugs for this issue: Affects: fedora-all [bug 2258978] Created xorg-x11-server tracking bugs for this issue: Affects: fedora-all [bug 2258977]
This issue has been addressed in the following products: Red Hat Enterprise Linux 7 Via RHSA-2024:0320 https://access.redhat.com/errata/RHSA-2024:0320
This issue has been addressed in the following products: Red Hat Enterprise Linux 9 Via RHSA-2024:2170 https://access.redhat.com/errata/RHSA-2024:2170
This issue has been addressed in the following products: Red Hat Enterprise Linux 9 Via RHSA-2024:2169 https://access.redhat.com/errata/RHSA-2024:2169
This issue has been addressed in the following products: Red Hat Enterprise Linux 8 Via RHSA-2024:2995 https://access.redhat.com/errata/RHSA-2024:2995
This issue has been addressed in the following products: Red Hat Enterprise Linux 8 Via RHSA-2024:2996 https://access.redhat.com/errata/RHSA-2024:2996