ignore security and it'll go away

glibc 2.5 reloc Crash Bug

glibc 2.5 reloc Crash Bug
Posted Oct 21, 2013
Authored by x90c

glibc version 2.5 suffers from a crash bug due to relocation types.

tags | advisory
MD5 | e1ac6dd420f357bdc2ca72e6c70245b0

glibc 2.5 reloc Crash Bug

Change Mirror Download
+---------------------------------------------------------+
| XADV-2013002 glibc 2.5 <= reloc types to crash bug |
+---------------------------------------------------------+

Vulnerable versions:
- glibc 2.5 <=
Not vulnerable versions:
- glibc 2.6 >=
Testbed: linux distro
Type: Local
Impact: crash
Vendor: https://www.gnu.org/software/libc
Author: x90c <geinblues *nospam* gmail dot com>
Site: x90c.org


=========
ABSTRACT:
=========

[Unspecified reloc types bug]
'defaults:' label codes on If not defined RTLD_BOOTSTRAP, glibc 2.5
defined RTLD_BOOTSTRAP default. The elf_machine_rel() of the
vulnerable glibc 2.5 ld-2.5.so doesn't process 'defaults:' In
the symbol relocation time. It means the ELF object 4bytes
altered with unspecified reloc types to crash.
('defaults:' label process unspecified reloc types to
calc reloc addr)

The vulnerable function sets *reloc_addr_arg as 5rd argument
(to reloc addr). and calc reloc addr. The unspecified reloc types
passed Improper value(on elf binary) on reloc_addr. An elf binary
with altered unspecified reloc_types to crash. BUG!

The bug can be used for rootkit technique via altering the ELF object.

=========
DETAILS:
=========

glibc-2.5/dl-machine.h
----
auto inline void
__attribute ((always_inline))
elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
const Elf32_Sym *sym, const struct r_found_version *version,
void *const reloc_addr_arg)
{
// reloc_addr = reloc_addr_arg(5rd argument as relative jump)
Elf32_Addr *const reloc_addr = reloc_addr_arg;

..

switch (r_type)
{

case R_386_GLOB_DAT:
case R_386_JMP_SLOT:
// *reloc_addr(*relocation addr) = value(relative addr calculated at above codes.)
*reloc_addr = value;
break;
}
// XXX BUG: 'defaults:' label not exists!
..

}
#endif /* !RTLD_BOOTSTRAP */
----


===============
EXPLOIT CODES:
===============
Altering reloc types on the ELF binary.

=============
PATCH CODES:
=============
add 'defaults:' label on above relocation code
If RTLD_BOOTSTRAP defined.


===============
VENDOR STATUS:
===============
2012/09/04 - The bug Discovered.
2013/10/20 - Advisory released on full-disclosure, bugtraq, exploit-db.

==============
ANNOUNCEMENT:
==============
Underground Hacker Scene of south korea In 2013

In the region south korea, korean hacker community
'korean underground' kidz Is there. The korean
underground opened three global hacker conferences.
x90c is THE L33T In 2004~2013 who not In the korean
underground. Except The l33t, all hackers In south
-korea was/are In the korean underground.
Check it out http://www.x90c.org/profile.txt.

============
DISCLAIMER:
============

The authors reserve the right not to be responsible for the topicality,
correctness, completeness or quality of the information provided in this
document. Liability claims regarding damage caused by the use of any information
provided, including any kind of information which is incomplete or incorrect,
will therefore be rejected.

Comments

RSS Feed Subscribe to this comment feed

No comments yet, be the first!

Login or Register to post a comment

File Archive:

July 2017

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Jul 1st
    2 Files
  • 2
    Jul 2nd
    3 Files
  • 3
    Jul 3rd
    15 Files
  • 4
    Jul 4th
    4 Files
  • 5
    Jul 5th
    15 Files
  • 6
    Jul 6th
    15 Files
  • 7
    Jul 7th
    10 Files
  • 8
    Jul 8th
    2 Files
  • 9
    Jul 9th
    10 Files
  • 10
    Jul 10th
    15 Files
  • 11
    Jul 11th
    15 Files
  • 12
    Jul 12th
    19 Files
  • 13
    Jul 13th
    16 Files
  • 14
    Jul 14th
    15 Files
  • 15
    Jul 15th
    3 Files
  • 16
    Jul 16th
    2 Files
  • 17
    Jul 17th
    8 Files
  • 18
    Jul 18th
    11 Files
  • 19
    Jul 19th
    15 Files
  • 20
    Jul 20th
    15 Files
  • 21
    Jul 21st
    15 Files
  • 22
    Jul 22nd
    6 Files
  • 23
    Jul 23rd
    0 Files
  • 24
    Jul 24th
    0 Files
  • 25
    Jul 25th
    0 Files
  • 26
    Jul 26th
    0 Files
  • 27
    Jul 27th
    0 Files
  • 28
    Jul 28th
    0 Files
  • 29
    Jul 29th
    0 Files
  • 30
    Jul 30th
    0 Files
  • 31
    Jul 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2016 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close