Currently, both red_channel_pipes_add_type() and red_channel_pipes_add_empty_msg() use plaing RING_FOREACH() which is not safe versus removals from the ring within the loop body. Yet, when (network) error does occur, the current item could be removed from the ring down the road and the assertion in RING_FOREACH()'s ring_next() could trip, causing the process containing the spice server to abort. An user able to initiate spice connection to the guest could use this flaw to crash the guest. Upstream fix: http://cgit.freedesktop.org/spice/spice/commit/?id=53488f0275d6c8a121af49f7ac817d09ce68090d Acknowledgements: This issue was discovered by David Gibson of Red Hat.
Created spice tracking bugs for this issue: Affects: fedora-all [bug 984802]
spice-0.12.4-1.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.
spice-0.12.4-1.fc18 has been pushed to the Fedora 18 stable repository. If problems still persist, please make note of it in this bug report.
This issue has been addressed in following products: Red Hat Enterprise Linux 6 Via RHSA-2013:1192 https://rhn.redhat.com/errata/RHSA-2013-1192.html
This issue has been addressed in following products: RHEV-H and Agents for RHEL-6 Via RHSA-2013:1260 https://rhn.redhat.com/errata/RHSA-2013-1260.html