Skip to content

Commit a98c6c7

Browse files
Merge pull request #18 from setuid0x0/master
2 parents 4ecfee1 + 57991e9 commit a98c6c7

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# hso-groupie
2+
3+
Exploit JBIG2 bug (CVE-2021-30860) in xpdf codebase.
4+
5+
1. Groom heap and align chunks similarly to [P0 post](https://googleprojectzero.blogspot.com/2021/12/a-deep-dive-into-nso-zero-click.html). (Use pageBitmap and JBIG2Stream::readTextRegionSeg)
6+
7+
2. Overwrite GList and some fields of pageBitmap with JBIG2Bitmap pointers.
8+
9+
3. We can now apply bit operations OR/AND/XOR/XNOR/REPLACE using corrupted pageBitmap. (without building CPU!)
10+
11+
4. Overwrite fields of pageBitmap to w = 0x7fffffff, h = 0x100000, line = 0x1, data = NULL.
12+
13+
5. Use pageBitmap->expand to realloc the pageBitmap->data with mmap sized chunk.
14+
15+
6. Use REPLACE op to put the command on stderr struct and use XOR op to change the function pointer in the table to system function.
16+
17+
7. Trigger error to execute the command.
656 KB
Binary file not shown.

0 commit comments

Comments
 (0)