<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://blog.devploit.dev/</id><title>devploit / blog</title><subtitle>Real-world infosec, no hype.</subtitle> <updated>2026-07-13T07:15:28+00:00</updated> <author> <name>Daniel Púa</name> <uri>https://blog.devploit.dev/</uri> </author><link rel="self" type="application/atom+xml" href="https://blog.devploit.dev/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://blog.devploit.dev/"/> <generator uri="https://jekyllrb.com/" version="4.2.2">Jekyll</generator> <rights> © 2026 Daniel Púa </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>The Bug Was Four Layers Down: Five CVEs in npm Dependencies</title><link href="https://blog.devploit.dev/posts/five-cves-hidden-in-npm-dependencies/" rel="alternate" type="text/html" title="The Bug Was Four Layers Down: Five CVEs in npm Dependencies" /><published>2026-07-13T00:00:00+00:00</published> <updated>2026-07-13T00:00:00+00:00</updated> <id>https://blog.devploit.dev/posts/five-cves-hidden-in-npm-dependencies/</id> <content src="https://blog.devploit.dev/posts/five-cves-hidden-in-npm-dependencies/" /> <author> <name>Daniel Púa</name> </author> <category term="Security Research" /> <summary> A month ago, I shared on LinkedIn that MITRE had assigned me five CVEs across three npm packages. I could not share the IDs or technical details at the time. Now I can. The interesting part is not that these packages contain five completely unrelated bugs. They all fail at the same boundary: data controlled by an attacker becomes a filesystem path or a memory allocation without being constrain... </summary> </entry> <entry><title>Reading Contact Photos Without READ_CONTACTS: A Google Messages Confused Deputy Bug</title><link href="https://blog.devploit.dev/posts/google-messages-avatarcontentprovider-contacts-bypass/" rel="alternate" type="text/html" title="Reading Contact Photos Without READ_CONTACTS: A Google Messages Confused Deputy Bug" /><published>2026-07-02T00:00:00+00:00</published> <updated>2026-07-13T07:14:35+00:00</updated> <id>https://blog.devploit.dev/posts/google-messages-avatarcontentprovider-contacts-bypass/</id> <content src="https://blog.devploit.dev/posts/google-messages-avatarcontentprovider-contacts-bypass/" /> <author> <name>Daniel Púa</name> </author> <category term="Mobile Security" /> <summary> What happens if an app without READ_CONTACTS asks Google Messages for Android to load a Contacts photo for it? The vulnerability I found did exactly that: before it was fixed, Messages read the protected photo using its own permissions, rendered it as a PNG, and handed the image bytes back to the unprivileged caller. That was the bug. It was not a full Contacts database leak, but it was still... </summary> </entry> <entry><title>DEFCON Quals 2025 - Memory Bank CTF Challenge Writeup</title><link href="https://blog.devploit.dev/posts/defcon-quals-2025-memorybank/" rel="alternate" type="text/html" title="DEFCON Quals 2025 - Memory Bank CTF Challenge Writeup" /><published>2025-04-14T00:00:00+00:00</published> <updated>2026-07-13T07:14:35+00:00</updated> <id>https://blog.devploit.dev/posts/defcon-quals-2025-memorybank/</id> <content src="https://blog.devploit.dev/posts/defcon-quals-2025-memorybank/" /> <author> <name>Daniel Púa</name> </author> <category term="Exploitation" /> <summary> Introduction As a web hacking enthusiast, I typically focus on web-based CTF challenges. However, due to the lack of such challenges in DEFCON Quals 2025, I decided to tackle the Memory Bank challenge, which, though not strictly web-based, shared some similarities in nature. In this white-box CTF challenge, we had full access to the application code, allowing us to understand and exploit the ... </summary> </entry> </feed>
