<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Toctou on Crusader Research</title>
		<link>https://crusaderproxy.com/research/en/tags/toctou/</link>
		<description>Recent content in Toctou on Crusader Research</description>
		<generator>Hugo</generator>
		<language>en-US</language>
		
		
		
		
			<lastBuildDate>Sun, 05 Jul 2026 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://crusaderproxy.com/research/en/tags/toctou/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Winning web race conditions with the single-packet attack</title>
				<link>https://crusaderproxy.com/research/en/posts/winning-the-race-condition-bugs/</link>
				<pubDate>Sun, 05 Jul 2026 00:00:00 +0000</pubDate>
				<guid>https://crusaderproxy.com/research/en/posts/winning-the-race-condition-bugs/</guid>
				<description>&lt;p&gt;Most write-ups tell you a race condition is a &amp;ldquo;timing window between check and use.&amp;rdquo; True, and useless — because the reason your race attacks fail isn&amp;rsquo;t that you don&amp;rsquo;t understand the concept. It&amp;rsquo;s that &lt;strong&gt;the window is smaller than the internet is precise.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A typical race window — the gap between an app reading &lt;code&gt;balance&lt;/code&gt; and writing &lt;code&gt;balance - amount&lt;/code&gt; — is measured in &lt;strong&gt;microseconds to a few milliseconds&lt;/strong&gt;. The jitter between two HTTP requests you &lt;em&gt;send&lt;/em&gt; at the same instant, by the time they &lt;em&gt;arrive&lt;/em&gt; and get scheduled on the server, is routinely &lt;strong&gt;1 to 10 milliseconds&lt;/strong&gt;, and worse across the public internet. So your &amp;ldquo;simultaneous&amp;rdquo; requests arrive in a neat little line, the server processes them one at a time, the limit holds, and you conclude the endpoint is safe. It isn&amp;rsquo;t. You just lost the race to network jitter before the server ever got a vote.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
