Py2Play: Remote execution of arbitrary Python code — GLSA 200509-09

A design error in Py2Play allows attackers to execute arbitrary code.

Affected packages

dev-python/py2play on all architectures
Affected versions <= 0.1.7
Unaffected versions >= 0.1.8

Background

Py2Play is a peer-to-peer network game engine written in Python. Pickling is a Python feature allowing to serialize Python objects into string representations (called pickles) that can be sent over the network.

Description

Arc Riley discovered that Py2Play uses Python pickles to send objects over a peer-to-peer game network, and that clients accept without restriction the objects and code sent by peers.

Impact

A remote attacker participating in a Py2Play-powered game can send malicious Python pickles, resulting in the execution of arbitrary Python code on the targeted game client.

Workaround

There is no known workaround at this time.

Resolution

All py2play users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=dev-python/py2play-0.1.8"

References

Release date
September 17, 2005

Latest revision
September 05, 2006: 02

Severity
high

Exploitable
remote

Bugzilla entries