This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
ada/6717: Race condition in GNAT.Sockets.Create_Selector
- From: fw at deneb dot enyo dot de
- To: gcc-gnats at gcc dot gnu dot org
- Date: 18 May 2002 12:21:42 -0000
- Subject: ada/6717: Race condition in GNAT.Sockets.Create_Selector
- Reply-to: fw at deneb dot enyo dot de
>Number: 6717
>Category: ada
>Synopsis: Race condition in GNAT.Sockets.Create_Selector
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat May 18 05:26:02 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: fw@deneb.enyo.de
>Release: GCC 3.1, mainline
>Organization:
>Environment:
Any platform that supports GNAT.Sockets.
>Description:
Create_Selector creates a signalling socket in an unsafe way. A malicious local user (or, if the host implements a sufficiently weak end system model, someone on the local network) can connect to the newly created socket before the application itself, thereby disrupting normal operation.
>How-To-Repeat:
>Fix:
Switch back to using pipes instead sockets for signalling, as in GNAT 3.14p.
On platforms which do not have pipes, use UDP for signalling, and add some kind of check that the triggering
UDP packet really originated from the program itself.
>Release-Note:
>Audit-Trail:
>Unformatted: