domenica 18 novembre 2007

KERNEL 2.6.23.8

uscita una nuova versione stabile del kernel 2.6.23 queste le principali caratteristiche implementate in questa nuova versione 2.6.23.8:


chancelog.
Linux 2.6.23.8

wait_task_stopped: Check p->exit_state instead of TASK_TRACED (CVE-2007-5500)

patch a3474224e6a01924be40a8255636ea5522c1023a in mainline

The original meaning of the old test (p->state > TASK_STOPPED) was
"not dead", since it was before TASK_TRACED existed and before the
state/exit_state split. It was a wrong correction in commit
14bf01bb0599c89fc7f426d20353b76e12555308 to make this test for
TASK_TRACED instead. It should have been changed when TASK_TRACED
was introducted and again when exit_state was introduced.




TCP: Make sure write_queue_from does not begin with NULL ptr (CVE-2007-5501)

patch 96a2d41a3e495734b63bff4e5dd0112741b93b38 in mainline.

NULL ptr can be returned from tcp_write_queue_head to cached_skb
and then assigned to skb if packets_out was zero. Without this,
system is vulnerable to a carefully crafted ACKs which obviously
is remotely triggerable.

Besides, there's very little that needs to be done in sacktag
if there weren't any packets outstanding, just skipping the rest
doesn't hurt.

per aggiornare al nuovo kernel prepariamo il sistema, apriamo un terminale ed installiamo i seguenti pacchetti che ci serviranno per la compilazione :


sudo apt-get install build-essential bin86 kernel-package libncurses5 libncurses5-dev fakeroot

adesso scarichiamo i sorgenti del kernel è spostiamoli dentro /usr/src, scriviamo:

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.8.tar.bz2
sudo mv linux-2.6.23.8.tar.bz2 /usr/src

scompattiamo il pacchetto 2.6.23.8.

cd /usr/src
sudo tar jxvf linux-2.6.23.8.tar.bz2

per compilare il kernel vi consiglio di utilizzare il vecchio .config del kernel precedente in modo di aggiornare solo le nuove voci.

sempre da terminale copiate il file .config del vecchio kernel dentro /usr/src/linux-2.6.23.8

sudo cp -fr /boot/config-2.6.22-2-486 /usr/src/linux-2.6.23.8/.config

nel mio caso l'ultimo file .config che si trova dentro la cartella boot è il 2.6.22.2-486 nel vostro caso il nome del file può essere differente prendete sempre l'ultima versione, quando copiate il file dentro la cartella /usr/src/linux-2.6.23.8 cambiate il nome in .config .


adesso siamo pronti per compilare spostiamoci dentro la cartella linux-2.6.23.8, diamo il comando make oldconfig.

cd /usr/src/linux-2.6.23.8
sudo make oldconfig

rispondiamo alle varie voci con "m,y,?" m significa di caricare un modulo del kernel solo
all'accorenza, y significa di caricare il modulo sempre all'avvio, diamo un ? quando non sappiamo cosa dare.

finita la configurazione diamo il comando per compilare sempre da dentro la cartella 2.6.23.8.
sudo fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

alla fine della compilazione ci troveremo due pacchetti deb dentro /usr/src
installiamoli con dpkg.

cd ..
sudo dpkg -i linux-headers-2.6.23.8-custom_2.6.23.8-custom-10.00.Custom_i386.deb
sudo dpkg -i linux-image-2.6.23.8-custom_2.6.23.8-custom-10.00.Custom_i386.deb

per sicurezza aggiungiamo l'opzione noapic nel file menu.lst ,scriviamo:

sudo gedit /boot/grub/menu.lst

## ## End Default Options ##

title Debian GNU/Linux, kernel 2.6.23.8-custom
root (hd0,0)
kernel /boot/vmlinuz-2.6.23.8-custom root=/dev/sda1 ro noapic
initrd /boot/initrd.img-2.6.23.8-custom
savedefault

title Debian GNU/Linux, kernel 2.6.23.8-custom (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.23.8-custom root=/dev/sda1 ro single
initrd /boot/initrd.img-2.6.23.8-custom
savedefault


vi ricordo che aggiornando il kernel dovrete reinstallare i driver della scheda video servitevi dell'ottimo programma envy "http://albertomilone.com/nvidia_scripts1.html" per installare i driver grafici per le schede video nvidia ed ati.
prima di riavviare la macchina servendovi dello script envy installate i driver video.









Nessun commento: