[olug] Fw: [FreeBSD-Announce] FreeBSD Security Advisory FreeBSD-SA-04:02.shmat

Brian Roberson roberson at olug.org
Thu Feb 5 19:52:00 UTC 2004


I think this is relevant list traffic....


----- Original Message ----- 
From: "FreeBSD Security Advisories" <security-advisories at freebsd.org>
To: "FreeBSD Security Advisories" <security-advisories at freebsd.org>
Sent: Thursday, February 05, 2004 12:40 PM
Subject: [FreeBSD-Announce] FreeBSD Security Advisory FreeBSD-SA-04:02.shmat


> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
>
============================================================================
=
> FreeBSD-SA-04:02.shmat                                      Security
Advisory
>                                                           The FreeBSD
Project
>
> Topic:          shmat reference counting bug
>
> Category:       core
> Module:         kernel
> Announced:      2004-02-05
> Credits:        Joost Pol <joost at pine.nl>
> Affects:        All FreeBSD releases
> Corrected:      2004-02-04 18:00:40 UTC (RELENG_4)
>                 2004-02-04 18:00:47 UTC (RELENG_5_2, 5.2-RELEASE-p2)
>                 2004-02-04 18:00:55 UTC (RELENG_5_1, 5.1-RELEASE-p14)
>                 2004-02-04 18:01:03 UTC (RELENG_5_0, 5.0-RELEASE-p20)
>                 2004-02-04 18:01:10 UTC (RELENG_4_9, 4.9-RELEASE-p2)
>                 2004-02-04 18:01:18 UTC (RELENG_4_8, 4.8-RELEASE-p15)
>                 2004-02-04 18:01:25 UTC (RELENG_4_7, 4.7-RELEASE-p25)
> CVE Name:       CAN-2004-0114
> FreeBSD only:   NO
>
> I.   Background
>
> The System V Shared Memory interface provides primitives for sharing
> memory segments between separate processes.  FreeBSD supports this
> interface when the kernel is built with SYSVSHM option, or the sysvshm
> module is loaded.  By default, the FreeBSD kernel is built with the
> SYSVSHM option.
>
> The shmat(2) system call, which is part of the System V Shared Memory
> interface, is used to attach a shared memory segment to the calling
> process's address space.
>
> II.  Problem Description
>
> A programming error in the shmat(2) system call can result in a shared
> memory segment's reference count being erroneously incremented.
>
> III. Impact
>
> It may be possible to cause a shared memory segment to reference
> unallocated kernel memory, but remain valid.  This could allow a local
> attacker to gain read or write access to a portion of kernel memory,
> resulting in sensitive information disclosure, bypass of access
> control mechanisms, or privilege escalation.
>
> IV.  Workaround
>
> NOTE: These workarounds could cause applications that use shared
> memory, such as the X Window System, to exhibit erratic behavior or to
> fail completely.
>
> Do one of the following:
>
> 1) Disable the System V Shared Memory interface entirely by following
> these steps:
>
>    - Remove or comment out any lines mentioning `SYSVSHM' from your
>      kernel configuration file, and recompile your kernel as described
>      in <URL:http://www.freebsd.org/handbook/kernelconfig.html>.
>
>    - Remove or comment out any lines mentioning `sysvshm' from
>      /boot/loader.conf and /etc/rc.conf.
>
>    - On FreeBSD 5.x systems only , System V Shared Memory support may
>      be provided as a kld(4).  To be absolutely safe, remove any files
>      named `sysvshm.ko' in /modules, /boot, and any subdirectories.
>
>    - Finally, reboot your system.
>
> OR
>
> 2) Configure the System V Shared Memory parameters so that no new
> shared memory segments may be created, terminate all processes using
> shared memory, and delete all existing shared memory segments.  Run
> the following commands as root:
>
>    # sysctl -w kern.ipc.shmmax=0
>    # echo 'kern.ipc.shmmax=0' >> /etc/sysctl.conf
>    # ipcs | awk '/^m/ { print $2 }' | xargs -n 1 ipcrm -m
>
> V.   Solution
>
> Do one of the following:
>
> 1) Upgrade your vulnerable system to 4-STABLE, or to the RELENG_5_2,
> RELENG_5_1, RELENG_4_9, or RELENG_4_8 security branch dated after the
> correction date.
>
> NOTE WELL: Due to release engineering in progress at the time of this
>            writing, the RELENG_5_2 security branch (5.2-RELEASE-p2)
>            also includes numerous other critical bug fixes, most of
>            which are not security related.  Please read src/UPDATING
>            for details on these changes.
>
> OR
>
> 2) Patch your present system:
>
> The following patch has been verified to apply to FreeBSD 4.x and 5.x
> systems.
>
> a) Download the relevant patch from the location below, and verify the
> detached PGP signature using your PGP utility.
>
> # fetch
ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-04:02/shmat.patch
> # fetch
ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-04:02/shmat.patch.asc
>
> b) Apply the patch.
>
> # cd /usr/src
> # patch < /path/to/patch
>
> c) Recompile your kernel as described in
> <URL:http://www.freebsd.org/handbook/kernelconfig.html> and reboot the
> system.
>
> VI.  Correction details
>
> The following list contains the revision numbers of each file that was
> corrected in FreeBSD.
>
> Path                                                             Revision
>   Branch
> - ------------------------------------------------------------------------
-
> RELENG_4
>   src/sys/kern/sysv_shm.c                                        1.45.2.8
> RELENG_5_2
>   src/UPDATING                                                  1.282.2.5
>   src/sys/conf/newvers.sh                                        1.56.2.5
>   src/sys/kern/sysv_shm.c                                        1.89.2.1
> RELENG_5_1
>   src/UPDATING                                                 1.251.2.15
>   src/sys/conf/newvers.sh                                       1.50.2.15
>   src/sys/kern/sysv_shm.c                                        1.83.2.1
> RELENG_5_0
>   src/UPDATING                                                 1.229.2.26
>   src/sys/conf/newvers.sh                                       1.48.2.21
>   src/sys/kern/sysv_shm.c                                        1.74.2.1
> RELENG_4_9
>   src/UPDATING                                              1.73.2.89.2.3
>   src/sys/conf/newvers.sh                                   1.44.2.32.2.3
>   src/sys/kern/sysv_shm.c                                    1.45.2.6.4.1
> RELENG_4_8
>   src/UPDATING                                             1.73.2.80.2.18
>   src/sys/conf/newvers.sh                                  1.44.2.29.2.16
>   src/sys/kern/sysv_shm.c                                    1.45.2.6.2.1
> RELENG_4_7
>   src/UPDATING                                             1.73.2.74.2.29
>   src/sys/conf/newvers.sh                                  1.44.2.26.2.27
>   src/sys/kern/sysv_shm.c                                    1.45.2.5.6.1
> - ------------------------------------------------------------------------
-
>
> VII. References
>
> <URL:http://www.pine.nl/press/pine-cert-20040201.txt>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.4 (FreeBSD)
>
> iD8DBQFAIocaFdaIBMps37IRAtO8AJ9pP86snAwE67qdkwsat1CoJ+gFGACeJLtU
> PjD0jexX+1QaN7q2JvgVXmc=
> =IEvj
> -----END PGP SIGNATURE-----
> _______________________________________________
> freebsd-announce at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-announce
> To unsubscribe, send any mail to
"freebsd-announce-unsubscribe at freebsd.org"
>



More information about the OLUG mailing list