From netch@lucky.net  Thu Nov 20 07:06:42 2003
Return-Path: <netch@lucky.net>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 94ED916A4CE
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 20 Nov 2003 07:06:42 -0800 (PST)
Received: from burka.carrier.kiev.ua (burka.carrier.kiev.ua [193.193.193.107])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 4234643FE1
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 20 Nov 2003 07:06:41 -0800 (PST)
	(envelope-from netch@lucky.net)
Received: from netch@localhost [127.0.0.1] (netch@localhost [127.0.0.1])
	by burka.carrier.kiev.ua  with ESMTP id hAKF6avM021890;
	Thu, 20 Nov 2003 17:06:37 +0200 (EET)
	(envelope-from netch@burka.carrier.kiev.ua)
Received: (from netch@localhost)
	by burka.carrier.kiev.ua (8.12.8p2/8.12.8/Submit) id hAKF6aoW021885;
	Thu, 20 Nov 2003 17:06:36 +0200 (EET)
	(envelope-from netch)
Message-Id: <200311201506.hAKF6aoW021885@burka.carrier.kiev.ua>
Date: Thu, 20 Nov 2003 17:06:36 +0200 (EET)
From: Valentin Nechayev <netch@lucky.net>
Reply-To: Valentin Nechayev <netch@lucky.net>
To: FreeBSD-gnats-submit@freebsd.org
Cc: snar@paranoia.ru
Subject: security/libparanoia port kill() fix
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         59510
>Category:       ports
>Synopsis:       security/libparanoia port kill() fix
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    osa
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Nov 20 07:10:00 PST 2003
>Closed-Date:    Fri Nov 21 07:00:48 PST 2003
>Last-Modified:  Fri Nov 21 07:00:48 PST 2003
>Originator:     Valentin Nechayev
>Release:        FreeBSD 4.8-RELEASE-p13 i386
>Organization:
Lucky Net Ltd.
>Environment:
System: FreeBSD burka.carrier.kiev.ua 4.8-RELEASE-p13 FreeBSD 4.8-RELEASE-p13 #2: Sun Oct 5 10:38:37 EEST 2003 root@burka.carrier.kiev.ua:/usr/obj/usr/src/sys/burka i386

>Description:

libparanoia (ports/security/libparanoia) should abort program in case
of stack frame bounds violation.
In kill() in stentry.c, argument order is incorrect.
As result, self-aborting isn't working.

>How-To-Repeat:

Read kill(2) man and see code.

>Fix:

Add patch:
>Release-Note:
>Audit-Trail:

From: "Sergey A. Osokin" <osa@freebsd.org.ru>
To: Valentin Nechayev <netch@lucky.net>
Cc: FreeBSD-gnats-submit@FreeBSD.org, snar@paranoia.ru
Subject: Re: ports/59510: security/libparanoia port kill() fix
Date: Thu, 20 Nov 2003 18:38:24 +0300

 On Thu, Nov 20, 2003 at 05:06:36PM +0200, Valentin Nechayev wrote:
 > 
 > --- stentry.c.orig	Thu Nov 20 16:59:32 2003
 > +++ stentry.c	Thu Nov 20 17:00:31 2003
 > @@ -20,7 +20,7 @@
 >  	openlog(__progname,LOG_NDELAY|LOG_PERROR|LOG_PID|LOG_CONS,LOG_USER);\
 >          syslog(LOG_ERR,"Stack violation - exiting");\
 >          closelog();\
 > -        kill(SIGSEGV,getpid());\
 > +        kill(getpid(),SIGSEGV);\
 >          exit(1) ;\
 >  
 >  #ifdef PARANOIDAL_ROOT
 
 Here is another and small version of patch (also my version save inode),
 please review and approve.
 Thanks.
 
 Index: ports/security/libparanoia/Makefile
 ===================================================================
 RCS file: /home/pcvs/ports/security/libparanoia/Makefile,v
 retrieving revision 1.12
 diff -u -u -r1.12 Makefile
 --- ports/security/libparanoia/Makefile	3 Nov 2003 19:32:09 -0000	1.12
 +++ ports/security/libparanoia/Makefile	20 Nov 2003 15:34:14 -0000
 @@ -6,7 +6,7 @@
  
  PORTNAME=	libparanoia
  PORTVERSION=	1.4
 -PORTREVISION=	2
 +PORTREVISION=	3
  CATEGORIES=	security
  MASTER_SITES=	ftp://ftp.lexa.ru/pub/domestic/snar/
  
 @@ -14,6 +14,7 @@
  COMMENT=	Safe (in the mean of stack smashing) reincarnation of strcpy et al
  
  ONLY_FOR_ARCHS=	i386
 +USE_REINPLACE=	yes
  
  INSTALLS_SHLIB=	yes
  
 @@ -26,6 +27,10 @@
  .endif
  
  .include <bsd.port.pre.mk>
 +
 +pre-patch:
 +	@${REINPLACE_CMD} -e 's|\(SIGSEGV\),\(getpid()\)|\2,\1|' \
 +		${WRKSRC}/stentry.c
  
  .if ${OSVERSION} >= 500039
  post-patch:
 -------------------------------------------
 
 -- 
 
 Rgdz,                        /"\  ASCII RIBBON CAMPAIGN
 Sergey Osokin aka oZZ,       \ /    AGAINST HTML MAIL
 http://ozz.pp.ru/             X          AND NEWS
                              / \
Responsible-Changed-From-To: freebsd-ports-bugs->osa 
Responsible-Changed-By: osa 
Responsible-Changed-When: Thu Nov 20 08:04:23 PST 2003 
Responsible-Changed-Why:  
I'll handle this. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=59510 

From: Valentin Nechayev <netch@lucky.net>
To: "Sergey A. Osokin" <osa@freebsd.org.ru>
Cc: FreeBSD-gnats-submit@FreeBSD.org, snar@paranoia.ru
Subject: Re: ports/59510: security/libparanoia port kill() fix
Date: Fri, 21 Nov 2003 12:50:09 +0200

  Thu, Nov 20, 2003 at 18:38:24, osa wrote about "Re: ports/59510: security/libparanoia port kill() fix": 
 
 >> -        kill(SIGSEGV,getpid());\
 >> +        kill(getpid(),SIGSEGV);\
 >>          exit(1) ;\
 >>  
 >>  #ifdef PARANOIDAL_ROOT
 
 > Here is another and small version of patch (also my version save inode),
 > please review and approve.
 
 Well, it is working AFAICS.
 
 > +
 > +pre-patch:
 > +	@${REINPLACE_CMD} -e 's|\(SIGSEGV\),\(getpid()\)|\2,\1|' \
 > +		${WRKSRC}/stentry.c
 
 
 -netch-
State-Changed-From-To: open->closed 
State-Changed-By: osa 
State-Changed-When: Fri Nov 21 07:00:04 PST 2003 
State-Changed-Why:  
I committed my version of patch. 
Thanks for submission! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=59510 
>Unformatted:
--- stentry.c.orig	Thu Nov 20 16:59:32 2003
+++ stentry.c	Thu Nov 20 17:00:31 2003
@@ -20,7 +20,7 @@
 	openlog(__progname,LOG_NDELAY|LOG_PERROR|LOG_PID|LOG_CONS,LOG_USER);\
         syslog(LOG_ERR,"Stack violation - exiting");\
         closelog();\
-        kill(SIGSEGV,getpid());\
+        kill(getpid(),SIGSEGV);\
         exit(1) ;\
 
 #ifdef PARANOIDAL_ROOT
