<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Jwt on Daffa Abhipraya</title><link>https://blog.abhipraya.dev/tags/jwt/</link><description>Recent content in Jwt on Daffa Abhipraya</description><generator>Hugo</generator><language>en-us</language><copyright>© Daffa Abhipraya</copyright><lastBuildDate>Mon, 23 Mar 2026 00:00:00 +0700</lastBuildDate><atom:link href="https://blog.abhipraya.dev/tags/jwt/index.xml" rel="self" type="application/rss+xml"/><item><title>PPL: Fixing a JWT Vulnerability [Sprint 2, Week 1]</title><link>https://blog.abhipraya.dev/ppl/part-b/s2w1-security/</link><pubDate>Mon, 23 Mar 2026 00:00:00 +0700</pubDate><guid>https://blog.abhipraya.dev/ppl/part-b/s2w1-security/</guid><description>&lt;h2 id="what-i-worked-on">
 &lt;a class="anchor" href="#what-i-worked-on" data-anchor="what-i-worked-on" aria-hidden="true">#&lt;/a>
 What I Worked On
&lt;/h2>
&lt;p>This week I addressed a critical security vulnerability flagged by SonarQube and hardened the CI pipeline so security issues block merges instead of being silently reported.&lt;/p>
&lt;h2 id="the-jwt-vulnerability-sonarqube-s5659">
 &lt;a class="anchor" href="#the-jwt-vulnerability-sonarqube-s5659" data-anchor="the-jwt-vulnerability-sonarqube-s5659" aria-hidden="true">#&lt;/a>
 The JWT Vulnerability (SonarQube S5659)
&lt;/h2>
&lt;p>SonarQube flagged &lt;code>dependencies.py:34&lt;/code> as a &lt;strong>CRITICAL vulnerability&lt;/strong>: &lt;code>jwt.get_unverified_header()&lt;/code> reads the JWT header without verifying the signature. This enables the &lt;strong>alg:none attack&lt;/strong>, where an attacker crafts a token with &lt;code>&amp;quot;alg&amp;quot;: &amp;quot;none&amp;quot;&lt;/code> in the header, causing the library to skip signature verification entirely.&lt;/p></description></item><item><title>PPL: Security [Sprint 1, Week 3]</title><link>https://blog.abhipraya.dev/ppl/part-b/s1w3-security/</link><pubDate>Fri, 13 Mar 2026 00:00:00 +0700</pubDate><guid>https://blog.abhipraya.dev/ppl/part-b/s1w3-security/</guid><description>&lt;h2 id="what-i-worked-on">
 &lt;a class="anchor" href="#what-i-worked-on" data-anchor="what-i-worked-on" aria-hidden="true">#&lt;/a>
 What I Worked On
&lt;/h2>
&lt;p>This week addressed four security areas: JWT algorithm validation hardening (reviewed MR !63), encryption key management in CI (MR !68), client PII encryption in the database seeder (reviewed MR !80), and ongoing SAST scanning via the CI pipeline.&lt;/p>
&lt;h2 id="jwt-algorithm-validation-preventing-algnone-attacks">
 &lt;a class="anchor" href="#jwt-algorithm-validation-preventing-algnone-attacks" data-anchor="jwt-algorithm-validation-preventing-algnone-attacks" aria-hidden="true">#&lt;/a>
 JWT Algorithm Validation: Preventing alg:none Attacks
&lt;/h2>
&lt;p>MR !63 (by adipppp, which I reviewed) hardened the JWT decoding logic against the &lt;strong>alg:none attack&lt;/strong>, one of the most well-known JWT vulnerabilities (OWASP A07:2021, Identification and Authentication Failures).&lt;/p></description></item></channel></rss>