2 research outputs found

    A New Class of Buffer Overflow Attacks

    No full text
    In this paper, we focus on a class of buffer overflow vulnerabilities that occur due to the placement new\u27\u27 expression in C++. Placement new\u27\u27 facilitates placement of an object/array at a specific memory location. When appropriate bounds checking is not in place, object overflows may occur. Such overflows can lead to stack as well as heap/data/bss overflows, which can be exploited by attackers in order to carry out the entire range of attacks associated with buffer overflow. Unfortunately, buffer overflows due to placement new\u27\u27 have neither been studied in the literature nor been incorporated in any tool designed to detect and/or address buffer overflows. In this paper, we show how the placement new\u27\u27 expression in C++ can be used to carry out buffer overflow attacks - on the stack as well as heap/data/bss. We show that overflowing objects and arrays can also be used to carry out virtual table pointer subterfuge, as well as function and variable pointer subterfuge. Moreover, we show how placement new can be used to leak sensitive information, and how denial of service attacks can be carried out via memory leakage
    corecore