Posts Tagged ‘kernel’

Linux vulnerability >2.6.39 local root escalation bug

maandag, januari 23rd, 2012

== Dit artikel zullen wij updaten als er meer informatie beschikbaar komt. ==

Er is gisteren een nieuwe exploit bekend geworden, die het mogelijk maakt om lokaal root te worden. Door een slecht geimplementeerde controle in de versie van de kernel, nieuwe dan 2.6.39) blijkt het vrij makkelijk te zijn om een stuk van het geheugen dat door een bepaald proces gebruikt wordt te overschrijven. Met wat extra stappen was het mogelijk in het geheugen van suid processen te schrijven en op die manier root te verkrijgen. Redhat heeft deze bug ook gebackport naar zijn kernel en zodoende is deze bug ook in de CentOS6-kernel gekomen.
Binnen de XLS infrastrucuur zijn alleen de volgende kernels kwetsbaar. Andere kernels zijn hier dus niet gevoelig voor.
- Centos 6 (vanaf kernel versie 2.6.32-220.el6, nieuwe kernel is beschikbaar)
- Ubuntu 11.10 (met pygrub/eigen kernel, update beschikbaar)
- XLS-kernel 3.0.1 (Hier staat een nieuwe kernel klaar, reboot is noodzakelijk om deze te activeren)

We wachten op de updates van de verschillende distributie en zullen dan uitleggen hoe de update gedaan moet worden. Voor de XLS-kernel moeten we wachten op de port van de patch naar de 3.0.x kernel (als dit te lang duurt zullen we deze zelf backporten).
Ubuntu 11.10 (Oneiric) procedure (indien je pygrub/eigen kernel gebruikt):

  • wget http://download.cloudvps.com/pygrub/ubuntu/oneiric/10_linux -O /etc/grub.d/10_linux
  • wget http://download.cloudvps.com/pygrub/ubuntu/oneiric/grub -O /etc/default/grub
  • apt-get update
  • apt-get dist-upgrade
  • reboot

XLS-Kernel 3.0.1

Voor deze kernel hebben we een update naar 3.0.17 gedaan en zelf de patch toegepast op deze versie. Voor alle VPSen die nu op 3.0.1-xls draaien, hebben we deze setting omgezet naar de 3.0.17-xls kernel en is een reboot noodzakelijk om deze te activeren.

Centos 6

yum update en reboot

Meer leesvoer

Eerste bekendmaking: http://blog.zx2c4.com/749
Redhat: https://access.redhat.com/kb/docs/DOC-69129
Ubuntu: https://bugs.launchpad.net/ubuntu/lucid/+source/linux-ti-omap4/+bug/919115
Debian: http://security-tracker.debian.org/tracker/CVE-2012-0056

Fix voor Linux kernel exploit

dinsdag, september 21st, 2010

English below

Op de ‘Full Disclosure’ security-mailinglist is vorige week een exploit verschenen voor een veiligheidslek in 64-bits Linux kernels, gerelateerd aan de 32-bits emulatielaag. Deze exploit maakt het mogelijk om vanaf een account zonder privileges root-privileges te verkrijgen. Alle nu bekende 2.6 kernels, inclusief die geleverd zijn door XLS, hebben op dit moment dit probleem.

XLS kernel

Voor mensen die de XLS kernel gebruiken hebben we een patch uitgevoerd voor onze standaardkernels en deze voor onze klanten beschikbaar gemaakt. U kunt overstappen op de gepatchte, veilige, kernel door op een geschikt moment, maar liefst zo snel mogelijk, uw VPS een ‘halt’ te geven vanuit het root-account, waarna de VPS door ons fail-over systeem opnieuw wordt opgebracht met de nieuwe kernel. U kunt ook inloggen op de XLS interface en de VPS stoppen en daarna starten.

Eigen kernel of VPS mag niet down

Mensen die hun eigen kernel gebruiken moeten 32-bits support uitzetten. Er zijn namelijk nog geen officiele nieuwe kernelversies uitgebracht die dit probleem oplossen, waardoor ook de distro’s nog niet allemaal updates ter beschikking hebben kunnen stellen. Voor Debian, Ubuntu en CentOS zijn er inmiddels updates. Let op: op CentOS werkt ‘yum update’ niet zomaar. Neem contact met ons op hierover.

Door het onderstaande commando te geven kunt u tijdelijk support voor 32-bits binaries runtime (dus zonder shutdown/reboot) uitschakelen. Deze oplossing kan ook helpen voor klanten of die om operationele redenen niet onmiddellijk hun VPS down kunnen brengen.

echo ":32bits:M:0:x7fELFx01::/bin/logger:" > /proc/sys/fs/binfmt_misc/register


Fix for Linux kernel exploit

Last week someone posted an exploit to the ‘full disclosure’ mailinglist against the Linux 2.6 kernel, related to a bug in the 32 bits emulation layer. This is a privilege escalation bug that allows non-root users to gain root privileges. The issue affects all 2.6 kernels, including the kernels delivered by XLS.

XLS kernel

For people who use the XLS kernel we applied a patch to our stock kernels and made these available to our customers. You can change over to the patched kernel at a convenient time, although ideally as soon as possible, by issuing a ‘halt’ command from the root account. Our fail-over system will restart your VPS with the new kernel. You can also log in to the XLS interface to stop (and then restart) the VPS.

Custom kernel or critical uptime

People using a custom kernel will have to disable 32 bits support since there are no official new versions released yet by all distros (update: Debian, Ubuntu and CentOS have all released updated kernels). By issuing the following command you can temporarily disable 32 bits support in runtime (i.e., without shutdown/reboot):

echo ":32bits:M:0:x7fELFx01::/bin/logger:" > /proc/sys/fs/binfmt_misc/register

This is also a good temporary solution for people who cannot immediately shut down their VPS for operational reasons.

FUSE in de XLS Linux kernel

vrijdag, maart 5th, 2010

Wij hebben deze week de kernel module FUSE toegevoegd aan de Linux kernel die voor onze virtuele servers gebruikt wordt.

FUSE staat voor “Filesystem in Userspace” en staat non-privileged users toe om hun eigen file systems te creeren zonder de kernel code aan te hoeven passen. Dit betekend dat er allerlei protocollen als filesystem gemount kunnen worden.

Een veelgebruikte applicatie is SSHFS waarbij een map op een externe server gemount kan worden over een SSH-verbinding. Een andere populaire applicatie is HTTPFS (externe mappen mounten via HTTP). Er is zelfs een GmailFS waarmee u gmail directory structuur als filesystem kunt mounten. Op deze wiki pagina kunt u een lijst met mogelijke applicaties vinden.

FUSE moet nog wel geactiveerd worden in individuele VPSen. Klanten die virtuele servers hebben met VPS nummers onder de 3064 moeten even contact met ons opnemen als ze FUSE geactiveerd willen hebben. FUSE kan op VPSen met nummers boven de 3063 geactiveerd worden door in de XLS Interface een Shutdown (Stop + Start) te geven. Vervolgens zal de virtual server met FUSE opkomen.

Linux Kernel Security Lek

dinsdag, augustus 18th, 2009

Er is voor de tweede keer in korte tijd een veiligheidslek geconstateerd in de Linux kernel die te maken heeft met het volgen van zogenaamde NULL-pointers.

U zult uw VPS de komende dagen een halt moeten geven om de beschikking over een gepatchte kernel te krijgen. Donderdagavond vanaf 22:00 uur gaan wij alle machines een halt geven (en herstarten) die dit nog niet gedaan hebben. Als onze VPS klanten hebben hier ook een email over gekregen.

Alhoewel wij nog geen werkende exploit hebben gezien voor dit lek dat niet afhankelijk is van extra systeemcomponenten om root te verkrijgen, zijn er sterke indicaties dat dit ook zonder zulke software mogelijk moet zijn. Wij achten het risico daarom toch redelijk hoog.

We hebben voor al onze klanten een nieuwe kernel beschikbaar gemaakt. Om alle risico’s te vermijden raden wij mensen aan om op een geschikt moment hun Linux VPS een “shutdown -h” of “halt” te geven. Ons clusteringsysteem zal de uitgeschakelde virtuele machine zien, de nieuwe kernel er aan verbinden en de vps opnieuw opstarten.

Let op: Een reboot vanuit het control panel werkt niet, de vps uitzetten en als hij down is weer aanzetten via de XLS Interface werkt wel.

Als de machine niet onmiddellijk terugkomt, controleer dan met de System Console op de interface.xlshosting.com-site of de machine niet bezig is met een fsck (disk check). Machines die langer dan 180 dagen draaien zullen 15-30 minuten extra tijd nodig hebben om het filessyteem te checken.

Vanwege de potentiele ernst van het security-lek zullen wij in de nacht van donderdag op vrijdag de VPS-nodes die nog niet door klanten zelf naar de nieuwe kernel zijn geboot een reboot geven. Als dit voor uw server slecht uitkomt maar u voor die tijd ook geen kans om het te doen, neem dan contact op met onze helpdesk.

Voor de oplettende klanten: De nieuwe kernel identificeert zich als 2.6.18, waar de oude 2.6.20 heette. De nieuwe kernel is gebaseerd op die van RedHat Enterprise Linux en is, ondanks het lagere versienummer, voorzien van nieuwere patches en features.

Mensen die eigen kernels booten met behulp van pygrub zullen zelf moeten kijken of ze moeten upgraden. Ga er van uit dat alle kernels uit de 2.6-familie kwetsbaar zijn als ze langer dan 5 dagen geleden zijn uitgekomen.

Voor wat achtergrondinformatie over het exploiten van NULL-pointer dereferences, zie deze links:

http://lwn.net/Articles/342330/
http://blog.cr0.org/2009/06/bypassing-linux-null-pointer.html

Linux Kernel Hack

vrijdag, juli 17th, 2009

Vandaag is een vrij creatieve exploit verschenen voor een securityprobleem dat onstaan is in de Linux kernel, versie 2.6.30.

Onze virtuele server clusters gebruiken een andere versie en eerdere versies en distro-kernels zijn hier niet kwetsbaar voor. Klanten met colocated machines of een VPS met custom kernel raden wij wel aan de versie te controleren.

Eigen kernels booten met PyGrub

maandag, april 13th, 2009

We krijgen regelmatig verzoeken van klanten om met custom kernels te kunnen booten. Vaak omdat er specialistische modules nodig zijn, bijvoorbeeld voor VOIP-diensten of cryptografisch versleutelde diskpartities via FUSE. Vanaf vandaag maken wij het voor mensen met dit soort speciale behoeftes mogelijk om in plaats van onze standaardkernel een Xen-compatible kernel van binnen de VPS zelf te laden via PyGrub. U kunt deze mogelijkheid activeren binnen de XLS Interface.

Wat is PyGrub precies?

PyGrub is een herimplementatie, in python, van de grub bootloader, toegespitst op het booten van virtuele machines onder Xen. Het leest de grub-configuratie en kiest daarmee een kernel en een ramdisk-image om mee te booten en geeft deze door aan de Xen hypervisor.

Installeren van je eigen kernel

Om succesvol via PyGrub te kunnen booten zijn op de VPS nodig:

  • Een valide grub-config in /boot/grub/menu.lst
  • Een Xen domU-compatible kernel.
  • Een initrd met xenblk.ko en xennet.ko.
  • Om te zorgen dat de xenblk en xennet drivers goed geladen worden, is het verstandig om, alvorens een Xen kernel-package te installeren, de volgende twee regels toe te voegen aan /etc/modprobe.conf:

        alias eth0 xennet
        alias scsi_hostadapter xenblk
    

    Installeer vervolgens grub, en daarna de xen kernel. Onder CentOS is dat:

        # yum install grub
        # yum install kernel-xen
    

    En onder Debian:

        # apt-get install grub
        # apt-get install linux-image-xen-amd64
    

    Activeren

    Controleer dat er een geldige /boot/grub/menu.lst ontstaan is die wijst naar de Xen kernel. Zet vervolgens op de XLS Interface site de knop om naar ‘Custom Kernel’ en geef de VPS vanaf de command line een shutdown (een gewone reboot is niet genoeg). De machine zal opnieuw gestart worden met PyGrub.

    De Gevreesde OOM-killer

    vrijdag, september 26th, 2008

    De linux kernel, zoals deze standaard wordt afgeleverd, heeft een excentrieke procedure in de omgang met situaties waarin het geheugen van een (virtuele) machine op raakt: Een proces genaamd ‘oomkiller’ kijkt naar de lopende processen en kiest er een uit om te beëindigen in de hoop dat daarmee geheugen vrijkomt. Op papier is dit een redelijke oplossing, maar in de praktijk is gebleken dat in serveromgevingen de keuze die oomkiller maakt vaak nogal ongelukkig uitkomt. Het komt bijvoorbeeld vaak voor dat er processen worden beëindigd en de machine vervolgens onbereikbaar achterblijft.

    Om deze overlast te voorkomen gaan wij op korte termijn de instelling van de kernels aanpassen zodat een VPS zal worden gereboot op het moment dat al het geheugen op is. Alhoewel dit in enkele gevallen zou kunnen leiden tot een reboot die voorkomen had kunnen worden vinden wij dat risico minder ernstig dan een VPS die compleet vastloopt, iets dat we nu vaak zien gebeuren als gevolg van oomkiller.

    Om de kans op een reboot te verlagen zullen wij tevens de RAM-overcommit instelling van de kernel standaard verlagen. Deze overcommit zorgt ervoor dat applicaties in totaal meer geheugen kunnen alloceren dan er maximaal op de VPS beschikbaar is. Als enkele applicaties vervolgens van een groot gedeelte van hun allocatie gebruik willen gaan maken zal het geheugen van de VPS snel opgebruikt worden. Het verlagen van de RAM overcommit vermindert dit risico.

    Deze verandering zal eerst in alle nieuw opgeleverde VPSen worden doorgevoerd. Bestaande VPSen die last hebben van oomkiller zullen, in overleg met de klant, dezelfde wijzigingen krijgen.