<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Voorivex Team — security research &amp; pentest writeups</title>
    <link>https://blog.voorivex.team</link>
    <description>Original vulnerability research, pentest writeups, and tooling notes from the Voorivex team.</description>
    <atom:link href="https://blog.voorivex.team/rss.xml" rel="self" type="application/rss+xml" />
    <language>en-US</language>
    <lastBuildDate>Sat, 18 Jul 2026 12:26:03 +0000</lastBuildDate>
    <generator>Voorivex blog generator</generator>
    <item>
      <title>JavaScript Functions Overload Confusion</title>
      <link>https://blog.voorivex.team/javascript-functions-overload-confusion</link>
      <guid isPermaLink="true">https://blog.voorivex.team/javascript-functions-overload-confusion</guid>
      <pubDate>Wed, 15 Jul 2026 00:00:00 +0000</pubDate>
      <dc:creator>Yashar Shahinzadeh</dc:creator>
      <description><![CDATA[The same value, read two ways. How postMessage overload resolution turns an origin check and a real message handler into cross-site scripting.]]></description>
      <category>postmessage</category>
      <category>xss</category>
      <category>dom-xss</category>
    </item>
    <item>
      <title>Content-Type Override to Stored XSS on Public Objects</title>
      <link>https://blog.voorivex.team/content-type-override-to-stored-xss-on-public-objects</link>
      <guid isPermaLink="true">https://blog.voorivex.team/content-type-override-to-stored-xss-on-public-objects</guid>
      <pubDate>Tue, 30 Jun 2026 00:00:00 +0000</pubDate>
      <dc:creator>Amirmohammad Safari</dc:creator>
      <description><![CDATA[A single response-content-type query parameter on a public bucket object turns a forced image/png into text/html, which is stored XSS on the target's own origin. MinIO hands it to you for free. S3 takes one extra step.]]></description>
      <category>content-type</category>
      <category>stored-xss</category>
      <category>minio</category>
      <category>s3</category>
      <category>file-upload</category>
      <category>cloud-storage</category>
    </item>
    <item>
      <title>The Usual Suspect: Type Confusion in Twelve Bytes</title>
      <link>https://blog.voorivex.team/usual-suspect-type-confusion-in-twelve-bytes</link>
      <guid isPermaLink="true">https://blog.voorivex.team/usual-suspect-type-confusion-in-twelve-bytes</guid>
      <pubDate>Wed, 17 Jun 2026 00:00:00 +0000</pubDate>
      <dc:creator>HamidSj</dc:creator>
      <description><![CDATA[A file-upload image check that reads only twelve bytes lets you forge one buffer that is image/heic to every server-side sniff and, at the same time, a valid JavaScript, HTML, CSS, or JSON payload to whatever consumes it.]]></description>
      <category>type-confusion</category>
      <category>file-type</category>
      <category>cspt</category>
      <category>polyglot</category>
      <category>file-upload</category>
    </item>
    <item>
      <title>Three 0-Day Vulnerabilities in Adminer</title>
      <link>https://blog.voorivex.team/three-0-day-vulnerabilities-in-adminer</link>
      <guid isPermaLink="true">https://blog.voorivex.team/three-0-day-vulnerabilities-in-adminer</guid>
      <pubDate>Tue, 09 Jun 2026 00:00:00 +0000</pubDate>
      <dc:creator>Yashar Shahinzadeh, Amirmohammad Safari</dc:creator>
      <description><![CDATA[Three 0-days from a single source review of Adminer 5.4.2. A pre-auth RCE in the MSSQL driver, a stored XSS that bypasses CSP via a rogue MySQL server, and an authenticated SQLite RCE that walks around the existing blocklist. Reported to the vendor on 6 April. No response yet.]]></description>
      <category>adminer</category>
      <category>php</category>
      <category>rce</category>
      <category>xss</category>
      <category>0-day</category>
      <category>web</category>
    </item>
    <item>
      <title>My First RCE by Reverse Engineering an EXE File With the Help of AI</title>
      <link>https://blog.voorivex.team/first-rce-via-reverse-engineering-with-ai</link>
      <guid isPermaLink="true">https://blog.voorivex.team/first-rce-via-reverse-engineering-with-ai</guid>
      <pubDate>Wed, 03 Jun 2026 00:00:00 +0000</pubDate>
      <dc:creator>Yashar Shahinzadeh</dc:creator>
      <description><![CDATA[A web pentest dead-end turned into RCE. I downloaded an EXE the app shouldn't have exposed, let AI walk me through .NET reverse engineering, and chained CSWSH into one-click code execution.]]></description>
      <category>rce</category>
      <category>reverse-engineering</category>
      <category>ai</category>
      <category>dotnet</category>
      <category>pentest</category>
      <category>cswsh</category>
    </item>
    <item>
      <title>Two cPanel Zero Day Vulnerabilities</title>
      <link>https://blog.voorivex.team/two-cpanel-zero-day-vulnerabilities</link>
      <guid isPermaLink="true">https://blog.voorivex.team/two-cpanel-zero-day-vulnerabilities</guid>
      <pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate>
      <dc:creator>Yashar Shahinzadeh, Amirmohammad Safari</dc:creator>
      <description><![CDATA[Two pre-auth XSS zero-days in cPanel's bundled Mailman fork: a reflected script-context breakout via json.dumps(), and a stored XSS in the moderator queue.]]></description>
      <category>cpanel</category>
      <category>mailman</category>
      <category>xss</category>
      <category>0-day</category>
      <category>web</category>
    </item>
    <item>
      <title>We Need to Talk About CSRF Again</title>
      <link>https://blog.voorivex.team/we-need-to-talk-about-csrf-again</link>
      <guid isPermaLink="true">https://blog.voorivex.team/we-need-to-talk-about-csrf-again</guid>
      <pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate>
      <dc:creator>Amirmohammad Safari</dc:creator>
      <description><![CDATA[Two CSRF scenarios that bypass content-type-based defenses; a FastAPI quirk where a missing Content-Type means JSON, and a Chromium-only safelist entry that skipped CORS preflights and powered an Apollo Server XS-Leak (since patched).]]></description>
      <category>csrf</category>
      <category>content-type</category>
      <category>chromium</category>
      <category>apollo</category>
      <category>xs-leak</category>
      <category>fastapi</category>
    </item>
    <item>
      <title>Story of Abusing a Fully Secured redirect_uri in an OAuth Flow</title>
      <link>https://blog.voorivex.team/story-of-abusing-a-fully-secured-redirect-uri-in-an-oauth-flow</link>
      <guid isPermaLink="true">https://blog.voorivex.team/story-of-abusing-a-fully-secured-redirect-uri-in-an-oauth-flow</guid>
      <pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate>
      <dc:creator>Yashar Shahinzadeh</dc:creator>
      <description><![CDATA[A targeted OAuth redirect_uri validation looked airtight. A double-decode quirk in URL parsing was enough to leak the authorization code.]]></description>
      <category>oauth</category>
      <category>redirect_uri</category>
      <category>auth</category>
    </item>
    <item>
      <title>uXSS on Samsung Browser [CVE-2025-58485 · SVE-2025-1879]</title>
      <link>https://blog.voorivex.team/uxss-on-samsung-browser-cve-2025-58485-sve-2025-1879</link>
      <guid isPermaLink="true">https://blog.voorivex.team/uxss-on-samsung-browser-cve-2025-58485-sve-2025-1879</guid>
      <pubDate>Mon, 23 Feb 2026 00:00:00 +0000</pubDate>
      <dc:creator>Omid Rezaei, Yashar Shahinzadeh</dc:creator>
      <description><![CDATA[A universal cross-site scripting bug in Samsung Internet Browser, reachable through an exported activity that bypassed every input check on the intended path.]]></description>
      <category>android</category>
      <category>uxss</category>
      <category>browser</category>
      <category>cve</category>
    </item>
    <item>
      <title>When Two Parsers Disagree: Exploiting Query String Differentials for XSS</title>
      <link>https://blog.voorivex.team/when-two-parsers-disagree-exploiting-query-string-differentials-for-xss</link>
      <guid isPermaLink="true">https://blog.voorivex.team/when-two-parsers-disagree-exploiting-query-string-differentials-for-xss</guid>
      <pubDate>Tue, 10 Feb 2026 00:00:00 +0000</pubDate>
      <dc:creator>Amirmohammad Safari</dc:creator>
      <description><![CDATA[A query-string parser differential between Express's qs and the browser's URLSearchParams turns a clean OAuth-style validator into an XSS.]]></description>
      <category>xss</category>
      <category>parser-differential</category>
      <category>express</category>
      <category>oauth</category>
    </item>
    <item>
      <title>Shaking the MCP Tree: a security deep dive</title>
      <link>https://blog.voorivex.team/shaking-the-mcp-tree</link>
      <guid isPermaLink="true">https://blog.voorivex.team/shaking-the-mcp-tree</guid>
      <pubDate>Tue, 03 Feb 2026 00:00:00 +0000</pubDate>
      <dc:creator>Amirmohammad Safari</dc:creator>
      <description><![CDATA[Open Dynamic Client Registration on MCP servers is a fresh attack surface — XSS, token theft, SSRF, and direct access to AI-only tools.]]></description>
      <category>mcp</category>
      <category>oauth</category>
      <category>ssrf</category>
      <category>xss</category>
    </item>
    <item>
      <title>DOM XSS to Account Takeover: not-so-dirty dancing in a GIS SDK</title>
      <link>https://blog.voorivex.team/not-so-dirty-dancing-in-gis-sdk</link>
      <guid isPermaLink="true">https://blog.voorivex.team/not-so-dirty-dancing-in-gis-sdk</guid>
      <pubDate>Sun, 07 Dec 2025 00:00:00 +0000</pubDate>
      <dc:creator>HamidSj</dc:creator>
      <description><![CDATA[A character-strip filter on a login redirect, chained with the Google Identity Services SDK, escalated to a fully-automatic account takeover.]]></description>
      <category>dom-xss</category>
      <category>oauth</category>
      <category>gis</category>
      <category>account-takeover</category>
    </item>
    <item>
      <title>Cloudflare Image Proxy as a CSPT Gadget: A Cross-Origin CSPT Exploit</title>
      <link>https://blog.voorivex.team/cloudflare-image-proxy-as-a-cspt-gadget-a-cross-origin-cspt-exploit</link>
      <guid isPermaLink="true">https://blog.voorivex.team/cloudflare-image-proxy-as-a-cspt-gadget-a-cross-origin-cspt-exploit</guid>
      <pubDate>Sun, 19 Oct 2025 00:00:00 +0000</pubDate>
      <dc:creator>Amirmohammad Safari</dc:creator>
      <description><![CDATA[Cloudflare's image transformation endpoint emits 307 redirects that preserve method and body — perfect for hopping a CSPT request to another subdomain.]]></description>
      <category>cspt</category>
      <category>cloudflare</category>
      <category>redirect</category>
      <category>cross-origin</category>
    </item>
    <item>
      <title>Hacking Veeam: Several CVEs and $30k Bounties</title>
      <link>https://blog.voorivex.team/hacking-veeam-several-cves-and-30k-bounties</link>
      <guid isPermaLink="true">https://blog.voorivex.team/hacking-veeam-several-cves-and-30k-bounties</guid>
      <pubDate>Sat, 09 Aug 2025 00:00:00 +0000</pubDate>
      <dc:creator>Yashar Shahinzadeh</dc:creator>
      <description><![CDATA[A two-month hunt against Veeam's Windows-based products — auth bypass, RCE via deserialisation, NTLM relay to ATO, local privilege escalation, and a string of broken-access-control bugs.]]></description>
      <category>cve</category>
      <category>veeam</category>
      <category>rce</category>
      <category>ntlm</category>
    </item>
    <item>
      <title>Puny-Code, 0-Click Account Takeover</title>
      <link>https://blog.voorivex.team/puny-code-0-click-account-takeover</link>
      <guid isPermaLink="true">https://blog.voorivex.team/puny-code-0-click-account-takeover</guid>
      <pubDate>Sun, 01 Jun 2025 00:00:00 +0000</pubDate>
      <dc:creator>Yashar Shahinzadeh, Amirmohammad Safari</dc:creator>
      <description><![CDATA[A parser disagreement between SMTP servers and MySQL casts puny-coded characters back to ASCII — turning a forgot-password flow into a 0-click account takeover.]]></description>
      <category>puny-code</category>
      <category>account-takeover</category>
      <category>parser-differential</category>
      <category>oauth</category>
    </item>
    <item>
      <title>Stealing oAuth Token via Referrer Policy Override</title>
      <link>https://blog.voorivex.team/leaking-oauth-token-via-referrer-leakage</link>
      <guid isPermaLink="true">https://blog.voorivex.team/leaking-oauth-token-via-referrer-leakage</guid>
      <pubDate>Tue, 06 May 2025 00:00:00 +0000</pubDate>
      <dc:creator>Omid Rezaei</dc:creator>
      <description><![CDATA[A Chrome behaviour around the Link header lets a sub-resource override the referrer policy to unsafe-url, leaking full OAuth tokens through Referer.]]></description>
      <category>oauth</category>
      <category>referrer</category>
      <category>chrome</category>
      <category>token-theft</category>
    </item>
    <item>
      <title>CSS Data Exfiltration to Steal OAuth Token</title>
      <link>https://blog.voorivex.team/css-data-exfiltration-to-steal-oauth-token</link>
      <guid isPermaLink="true">https://blog.voorivex.team/css-data-exfiltration-to-steal-oauth-token</guid>
      <pubDate>Sat, 15 Feb 2025 00:00:00 +0000</pubDate>
      <dc:creator>Amirmohammad Safari, Yashar Shahinzadeh</dc:creator>
      <description><![CDATA[A DOMPurify-allowed style tag chained with a Google Ads sandbox reflection turned a harmless HTMLi into an OAuth-token leak. $9,700 in bounties, full exploit code.]]></description>
      <category>css-exfiltration</category>
      <category>oauth</category>
      <category>dompurify</category>
      <category>html-injection</category>
    </item>
    <item>
      <title>OAuth Non-Happy Path to ATO</title>
      <link>https://blog.voorivex.team/oauth-non-happy-path-to-ato</link>
      <guid isPermaLink="true">https://blog.voorivex.team/oauth-non-happy-path-to-ato</guid>
      <pubDate>Fri, 22 Nov 2024 00:00:00 +0000</pubDate>
      <dc:creator>Omid Rezaei</dc:creator>
      <description><![CDATA[Coercing a Google OAuth flow off the happy path leaks the authorization code through Referer to an attacker-controlled origin — full account takeover.]]></description>
      <category>oauth</category>
      <category>account-takeover</category>
      <category>non-happy-path</category>
      <category>referer</category>
    </item>
    <item>
      <title>From an Android Hook to RCE: $5000 Bounty</title>
      <link>https://blog.voorivex.team/from-an-android-hook-to-rce-5000-bounty</link>
      <guid isPermaLink="true">https://blog.voorivex.team/from-an-android-hook-to-rce-5000-bounty</guid>
      <pubDate>Tue, 19 Nov 2024 00:00:00 +0000</pubDate>
      <dc:creator>Yashar Shahinzadeh</dc:creator>
      <description><![CDATA[An Android hook chained into a remote code execution — $5,000 bounty.]]></description>
      <category>android</category>
      <category>rce</category>
      <category>mobile</category>
      <category>bug-bounty</category>
    </item>
    <item>
      <title>A Weird CSP Bypass led to $3.5k Bounty</title>
      <link>https://blog.voorivex.team/a-weird-csp-bypass-led-to-35k-bounty</link>
      <guid isPermaLink="true">https://blog.voorivex.team/a-weird-csp-bypass-led-to-35k-bounty</guid>
      <pubDate>Wed, 23 Oct 2024 00:00:00 +0000</pubDate>
      <dc:creator>Omid Rezaei, Yashar Shahinzadeh</dc:creator>
      <description><![CDATA[An unusual CSP bypass that turned a constrained injection into a $3,500 bug.]]></description>
      <category>csp</category>
      <category>xss</category>
      <category>browser</category>
      <category>bug-bounty</category>
    </item>
    <item>
      <title>Drilling the redirect_uri in OAuth</title>
      <link>https://blog.voorivex.team/drilling-the-redirecturi-in-oauth</link>
      <guid isPermaLink="true">https://blog.voorivex.team/drilling-the-redirecturi-in-oauth</guid>
      <pubDate>Fri, 11 Oct 2024 00:00:00 +0000</pubDate>
      <dc:creator>Yashar Shahinzadeh</dc:creator>
      <description><![CDATA[A deep dive into redirect_uri validation patterns in OAuth implementations and the holes that hide there.]]></description>
      <category>oauth</category>
      <category>redirect_uri</category>
      <category>auth</category>
    </item>
    <item>
      <title>Account Takeover due to DNS Rebinding</title>
      <link>https://blog.voorivex.team/account-takeover-due-to-dns-rebinding</link>
      <guid isPermaLink="true">https://blog.voorivex.team/account-takeover-due-to-dns-rebinding</guid>
      <pubDate>Tue, 17 Sep 2024 00:00:00 +0000</pubDate>
      <dc:creator>Yashar Shahinzadeh</dc:creator>
      <description><![CDATA[Chaining DNS rebinding into a cross-origin account takeover.]]></description>
      <category>dns-rebinding</category>
      <category>account-takeover</category>
      <category>sso</category>
    </item>
    <item>
      <title>$20,300 Bounties from a 200 Hour Hacking Challenge</title>
      <link>https://blog.voorivex.team/20300-bounties-from-a-200-hour-hacking-challenge</link>
      <guid isPermaLink="true">https://blog.voorivex.team/20300-bounties-from-a-200-hour-hacking-challenge</guid>
      <pubDate>Tue, 05 Mar 2024 00:00:00 +0000</pubDate>
      <description><![CDATA[A 200-hour personal hacking challenge that ended with $20,300 in bounties.]]></description>
      <category>bug-bounty</category>
      <category>challenge</category>
      <category>methodology</category>
    </item>
    <item>
      <title>Hijacking OAuth Code via Reverse Proxy for Account Takeover</title>
      <link>https://blog.voorivex.team/hijacking-oauth-code-via-reverse-proxy-for-account-takeover</link>
      <guid isPermaLink="true">https://blog.voorivex.team/hijacking-oauth-code-via-reverse-proxy-for-account-takeover</guid>
      <pubDate>Fri, 17 Nov 2023 00:00:00 +0000</pubDate>
      <dc:creator>Omid Rezaei</dc:creator>
      <description><![CDATA[An attacker-controlled reverse proxy in the OAuth callback path → authorization-code theft → ATO.]]></description>
      <category>oauth</category>
      <category>account-takeover</category>
      <category>reverse-proxy</category>
    </item>
    <item>
      <title>$7000 Bounty on a Single Web Application</title>
      <link>https://blog.voorivex.team/7000-bounty-on-a-single-web-application</link>
      <guid isPermaLink="true">https://blog.voorivex.team/7000-bounty-on-a-single-web-application</guid>
      <pubDate>Wed, 01 Nov 2023 00:00:00 +0000</pubDate>
      <description><![CDATA[A walkthrough of $7,000 worth of bugs found across a single web application.]]></description>
      <category>bug-bounty</category>
      <category>web</category>
      <category>writeup</category>
    </item>
    <item>
      <title>$9240 Bounty in 30 days Hunt Challenge</title>
      <link>https://blog.voorivex.team/9240-bounty-in-30-days-hunt-challenge</link>
      <guid isPermaLink="true">https://blog.voorivex.team/9240-bounty-in-30-days-hunt-challenge</guid>
      <pubDate>Sat, 21 Oct 2023 00:00:00 +0000</pubDate>
      <dc:creator>Omid Rezaei</dc:creator>
      <description><![CDATA[Thirty days of focused bug hunting and the $9,240 it produced.]]></description>
      <category>bug-bounty</category>
      <category>challenge</category>
      <category>methodology</category>
    </item>
    <item>
      <title>Bug Bounty Roadmap from Scratch</title>
      <link>https://blog.voorivex.team/bug-bounty-roadmap-from-scratch</link>
      <guid isPermaLink="true">https://blog.voorivex.team/bug-bounty-roadmap-from-scratch</guid>
      <pubDate>Fri, 20 Oct 2023 00:00:00 +0000</pubDate>
      <dc:creator>Yashar Shahinzadeh</dc:creator>
      <description><![CDATA[How to start bug bounty from zero — the path the Voorivex team would recommend.]]></description>
      <category>methodology</category>
      <category>bug-bounty</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Uncovering a Command Injection, $2400 Bounty</title>
      <link>https://blog.voorivex.team/uncovering-a-command-injection-2400-bounty</link>
      <guid isPermaLink="true">https://blog.voorivex.team/uncovering-a-command-injection-2400-bounty</guid>
      <pubDate>Sat, 14 Oct 2023 00:00:00 +0000</pubDate>
      <dc:creator>Omid Rezaei</dc:creator>
      <description><![CDATA[A command-injection bug found in a single endpoint, paid out at $2,400.]]></description>
      <category>command-injection</category>
      <category>rce</category>
      <category>web</category>
    </item>
  </channel>
</rss>