<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Uaf on Frederik353</title>
    <link>https://frederik353.github.io/writeups/tags/uaf/</link>
    <description>Recent content in Uaf on Frederik353</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>© 2026 Frederik Tokle Negård</copyright>
    <lastBuildDate>Sat, 25 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://frederik353.github.io/writeups/tags/uaf/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Velvet Table</title>
      <link>https://frederik353.github.io/writeups/ctfs/umd-26/velvet-table/</link>
      <pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://frederik353.github.io/writeups/ctfs/umd-26/velvet-table/</guid>
      <description>Glibc 2.32+ heap note manager wrapped in heavy XOR obfuscation. An inverted size check in the cashout handler turns the dev’s careful tcache bookkeeping into a free UAF, with a slightly longer smallbin attack waiting behind it as the intended path.</description>
      
    </item>
    
    <item>
      <title>Phantom</title>
      <link>https://frederik353.github.io/writeups/ctfs/0xfunctf-26/phantom/</link>
      <pubDate>Sat, 14 Feb 2026 00:00:00 +0000</pubDate>
      
      <guid>https://frederik353.github.io/writeups/ctfs/0xfunctf-26/phantom/</guid>
      <description>Physical page UAF in a kernel module: reclaim the freed page as a PMD, forge 2MB huge page entries for arbitrary physical memory R/W, and overwrite modprobe_path to read the flag.</description>
      
    </item>
    
  </channel>
</rss>
