Date: Sat, 26 Jan 2002 23:15:10 +0100 (CET) From: Thierry Thomas <thierry@pompo.net> To: FreeBSD-gnats-submit@freebsd.org Cc: Kris Kennaway <kris@freebsd.org> Subject: ports/34313: Security: unbreak french/xtel Message-ID: <20020126221510.06F007607@graf.pompo.net>
next in thread | raw e-mail | index | archive | help
>Number: 34313 >Category: ports >Synopsis: Security: unbreak french/xtel >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Jan 26 14:20:01 PST 2002 >Closed-Date: >Last-Modified: >Originator: Thierry Thomas >Release: FreeBSD 4.5-RC i386 >Organization: Kabbale Eros >Environment: System: FreeBSD graf.pompo.net 4.5-RC FreeBSD 4.5-RC #0: Sat Jan 12 16:26:48 CET 2002 root@graf.pompo.net:/usr/obj/mntsrc/src/sys/GRAF010429 i386 >Description: This port had been marked "forbidden" by the security officer (buffer overflows in mdmdetect). >How-To-Repeat: Install bfbtester port, and run bfbtester -a mdmdetect. >Fix: The following patch fixes the parsing of arguments in mdmdetect.c, bumps portrevision, and make some cleaning. diff -urN /usr/ports/french/xtel.orig/Makefile /usr/ports/french/xtel/Makefile --- /usr/ports/french/xtel.orig/Makefile Sat Jan 26 15:19:16 2002 +++ /usr/ports/french/xtel/Makefile Sat Jan 26 20:34:33 2002 @@ -7,13 +7,11 @@ PORTNAME= xtel PORTVERSION= 3.3.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= french comms emulators MASTER_SITES= http://pficheux.free.fr/xtel/download/ MAINTAINER= thierry@pompo.net - -FORBIDDEN= "Lots of buffer overflows yielding setuid root" LIB_DEPENDS+= jpeg.9:${PORTSDIR}/graphics/jpeg diff -urN /usr/ports/french/xtel.orig/files/patch-Config.tmpl /usr/ports/french/xtel/files/patch-Config.tmpl --- /usr/ports/french/xtel.orig/files/patch-Config.tmpl Tue Dec 25 22:39:56 2001 +++ /usr/ports/french/xtel/files/patch-Config.tmpl Sat Jan 26 17:50:56 2002 @@ -1,5 +1,5 @@ ---- Config.tmpl.orig Tue Feb 13 09:53:03 2001 -+++ Config.tmpl Sat Jul 28 11:34:57 2001 +--- Config.tmpl.orig Sat Jan 26 17:48:22 2002 ++++ Config.tmpl Sat Jan 26 17:50:24 2002 @@ -13,6 +13,9 @@ * Pas de popup-menu DONT_USE_POPUP (pb LessTif) */ @@ -10,3 +10,20 @@ /* Pour installer le démon */ #define INSTALLDEMON +@@ -41,13 +44,13 @@ + /*#define PURE*/ + + /* Pas de Télétel vitesse rapide */ +-/*#define NO_TVR*/ ++#define NO_TVR + + /* Pour debug du demon "xteld" */ +-#define DEBUG_XTELD ++/*#define DEBUG_XTELD*/ + + /* Pour la distribution RedHat Linux */ +-#define REDHAT ++/*#define REDHAT*/ + + /* Pas de popup-menu (pb LessTif) */ + #define DONT_USE_POPUP diff -urN /usr/ports/french/xtel.orig/files/patch-README_IMINITEL.txt /usr/ports/french/xtel/files/patch-README_IMINITEL.txt --- /usr/ports/french/xtel.orig/files/patch-README_IMINITEL.txt Thu Jan 1 01:00:00 1970 +++ /usr/ports/french/xtel/files/patch-README_IMINITEL.txt Fri Jan 4 23:11:18 2002 @@ -0,0 +1,8 @@ +--- README_IMINITEL.txt.orig Fri Jan 4 21:59:14 2002 ++++ README_IMINITEL.txt Fri Jan 4 23:10:53 2002 +@@ -74,4 +74,4 @@ + de la connexion PPP (login/password) + + /etc/ppp/peers/iminitel Script de lancement de pppd, contient le nom de +- la ligne série utilisée (par défaut ttyS0) ++ la ligne série utilisée (par défaut cuaa0) diff -urN /usr/ports/french/xtel.orig/files/patch-iminitel /usr/ports/french/xtel/files/patch-iminitel --- /usr/ports/french/xtel.orig/files/patch-iminitel Thu Jan 1 01:00:00 1970 +++ /usr/ports/french/xtel/files/patch-iminitel Sat Jan 5 23:15:57 2002 @@ -0,0 +1,10 @@ +--- iminitel/iminitel.orig Fri Jan 4 21:59:14 2002 ++++ iminitel/iminitel Fri Jan 4 23:06:29 2002 +@@ -1,5 +1,5 @@ +-ttyS0 115200 crtscts usepeerdns noipdefault nodefaultroute +-connect '/usr/sbin/chat -v -f /etc/ppp/chat-iminitel' ++cuaa0 115200 crtscts noipdefault nodefaultroute ++connect '/usr/bin/chat -v -f /etc/ppp/chat-iminitel' + noauth + lock + idle 120 diff -urN /usr/ports/french/xtel.orig/files/patch-ip-down.iminitel /usr/ports/french/xtel/files/patch-ip-down.iminitel --- /usr/ports/french/xtel.orig/files/patch-ip-down.iminitel Thu Jan 1 01:00:00 1970 +++ /usr/ports/french/xtel/files/patch-ip-down.iminitel Fri Jan 4 23:16:20 2002 @@ -0,0 +1,8 @@ +--- iminitel/ip-down.iminitel.orig Fri Jan 4 21:59:14 2002 ++++ iminitel/ip-down.iminitel Fri Jan 4 22:38:55 2002 +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!%%LOCALBASE%%/bin/bash + # $Id: ip-down.iminitel,v 1.1 2001/02/05 09:34:59 pierre Exp $ + # I-Minitel + if [ "$6" = "iminitel" ]; then diff -urN /usr/ports/french/xtel.orig/files/patch-ip-up.iminitel /usr/ports/french/xtel/files/patch-ip-up.iminitel --- /usr/ports/french/xtel.orig/files/patch-ip-up.iminitel Thu Jan 1 01:00:00 1970 +++ /usr/ports/french/xtel/files/patch-ip-up.iminitel Fri Jan 4 23:16:31 2002 @@ -0,0 +1,8 @@ +--- iminitel/ip-up.iminitel.orig Fri Jan 4 21:59:14 2002 ++++ iminitel/ip-up.iminitel Fri Jan 4 23:01:04 2002 +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!%%LOCALBASE%%/bin/bash + # $Id: ip-up.iminitel,v 1.1 2001/02/05 09:34:59 pierre Exp $ + # I-Minitel + if [ "$6" = "iminitel" ]; then diff -urN /usr/ports/french/xtel.orig/files/patch-mdmdetect.c /usr/ports/french/xtel/files/patch-mdmdetect.c --- /usr/ports/french/xtel.orig/files/patch-mdmdetect.c Tue Dec 25 22:39:56 2001 +++ /usr/ports/french/xtel/files/patch-mdmdetect.c Sat Jan 26 22:44:45 2002 @@ -1,5 +1,5 @@ ---- mdmdetect.c.orig Sun Feb 11 01:02:58 2001 -+++ mdmdetect.c Tue Jul 24 00:10:05 2001 +--- mdmdetect.c.orig Sat Jan 26 22:38:32 2002 ++++ mdmdetect.c Sat Jan 26 22:44:35 2002 @@ -37,7 +37,16 @@ #include <sys/types.h> #include <sys/socket.h> @@ -17,3 +17,51 @@ #ifdef SVR4 #include <sys/mkdev.h> #endif /* SVR4 */ +@@ -71,6 +80,18 @@ + exit (1); + } + ++char *CtrlArg (arg) ++char *arg; ++{ ++ static char ret[240]; ++ ++ if(strlcpy(ret, arg, 240) >= 240) { ++ fprintf(stderr, "Argument trop long: %s\n", arg); ++ exit (1); ++ } ++ return (ret); ++} ++ + /* Sortie */ + static void the_end (r) + int r; +@@ -228,23 +249,24 @@ + + progname = xtel_basename(av[0]); + +- if (ac < 2) ++ if (ac < 2 || ac > 7) + Usage (progname); + + /* Lecture de la ligne de commande */ + while (--ac) { +- if ((cp = *++av) == NULL) ++ if ((cp = CtrlArg(*++av)) == NULL) { + break; ++ } + if (*cp == '-' && *++cp) { + switch(*cp) { + case 'b' : +- builder = *++av; break; ++ builder = CtrlArg(*++av); break; + + case 'd' : + ++debug; break; + + case 'l' : +- modem_list = *++av; break; ++ modem_list = CtrlArg(*++av); break; + + case 'q' : + query = 1; break; diff -urN /usr/ports/french/xtel.orig/pkg-descr /usr/ports/french/xtel/pkg-descr --- /usr/ports/french/xtel.orig/pkg-descr Sat Nov 10 23:23:55 2001 +++ /usr/ports/french/xtel/pkg-descr Sat Jan 26 20:32:35 2002 @@ -2,7 +2,7 @@ XTEL permet d'émuler un Minitel 1B, 2. Xtel est aussi utilisable en réseau, et il permet d'émuler les TVR et les I-Minitel, mais ceci n'est pas encore -pris en compte ce port FreeBSD. +pris en compte dans ce port FreeBSD. XTEL is an emulator for the Minitel. The Minitel is a passive terminal, used in France to access to different network services via a telephone line. >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020126221510.06F007607>