<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Django on harpi - Security Researcher</title><link>https://harpi.cc/tags/django/</link><description>Recent content in Django on harpi - Security Researcher</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 07 Apr 2026 11:34:27 +0300</lastBuildDate><atom:link href="https://harpi.cc/tags/django/index.xml" rel="self" type="application/rss+xml"/><item><title>The Rate Limit That Wasn't: Bruteforcing django-allauth's Email Verification Code</title><link>https://harpi.cc/blog/cves/django-allauth/</link><pubDate>Thu, 21 Nov 2024 00:00:00 +0000</pubDate><guid>https://harpi.cc/blog/cves/django-allauth/</guid><description>&lt;blockquote>
&lt;p>&lt;em>&amp;ldquo;The street finds its own uses for things.&amp;rdquo;&lt;/em> — William Gibson&lt;/p>&lt;/blockquote>
&lt;h2 id="how-i-got-here">How I Got Here&lt;/h2>
&lt;p>In late 2024 I scoped out an engagement for &lt;a href="https://www.radicallyopensecurity.com/">Radically Open Security&lt;/a> targeting &lt;a href="https://github.com/pennersr/django-allauth">django-allauth&lt;/a> — one of the most widely-used authentication libraries for Django. The audit was funded by &lt;a href="https://nlnet.nl/project/django-allauth/">NLnet&lt;/a> as part of the NGI Zero Entrust programme, and focused on newly added features: Passkey WebAuthN support, login by code, email verification by code, and the &lt;code>allauth.headless&lt;/code> API.&lt;/p></description></item></channel></rss>