Things I build, break, fix, and write about

12 October 2026
Weekly Tech Digest | 12 Oct 2026

Stay updated with the latest in tech! This digest covers AI ethics, auto industry shifts, and the impact of politics on technology, exploring today's pressing issues.

28 September 2026
Removed SSRF beta detections in Cloudflare WAF

Cloudflare WAF Managed Rules have a habit of changing underneath you, and old SSRF names can linger long after the protection has gone. I prefer to...

28 September 2026
Weekly Tech Digest | 28 Sep 2026

Stay updated with the latest in tech! This digest covers AI ethics, auto industry shifts, and the impact of politics on technology, exploring today's...

27 September 2026
Cloudflare WAF metadata changes for WordPress XSS

Cloudflare WAF WordPress XSS detection now has a cleaner CVE label, but the behaviour has not changed; the rule still blocks the same traffic, just...

Latest blog posts you might like

29 June 2026
Persisting federated users in AWS Cognito

AWS Cognito writes the user record before most people notice the decision point has gone, so I keep the real check in AWS Cognito PreSignUp_ExternalProvider. Anything later is tidying up after the...

29 June 2026
fits_open_file can copy arbitrary paths before validation

CFITSIO Extended Filename Syntax is the bit that makes me distrust a filename on sight. If `fits_open_file` gets attacker input, it can copy, fetch, or touch paths before FITS validation even starts,...

29 June 2026
Weekly Tech Digest | 29 Jun 2026

Stay updated with the latest in tech! This digest covers AI ethics, auto industry shifts, and the impact of politics on technology, exploring today's pressing issues.

28 June 2026
Android security boundary failures around AuthToken handling

Android Biometric AuthToken handling is one of those details that looks tidy until you trace what actually trusts it. I pay closest attention to the hand-off points, because that is where a neat...

28 June 2026
Access control in WrappedADS authorised mint flow

WrappedADS wrapTo() mint path is not hiding much, and that is the point. If the caller is trusted, the mint goes through; if that trust is wrong, supply moves just as easily.

27 June 2026
redeemPosition rounding turns fixed deposits noisy

A fixed deposit should not unlock more SEA just because the round counter shifts. The SEA settlement adapter let that line blur, and a flash-loan loop made the mistake expensive; once redemption...

27 June 2026
MMR proof indexing in a bridge dispatcher audit

The ugly part of an Ethereum bridge dispatcher is not the proof itself, it is the gap between a tidy verification trace and the bytes that finally reach custody logic. If those two ever diverge, the...

26 June 2026
Uniswap V2 spot reads distort reward payouts

A pair reserve is a terrible price feed when someone can shove it around for one transaction. I have seen the same bad read turn cheap stake entry into inflated principal, then pay out rewards from...

26 June 2026
Web shell persistence in BadIIS loaders

BadIIS is not clever, just persistent, and that is what makes it unpleasant. It survives IIS restarts, rewrites selected traffic, and leaves behind enough build artefacts, like demo.pdb, to give...

25 June 2026
OpenVPN vulnerabilities and patch priority

OpenVPN vulnerabilities are easy to shrug off until they hit the client, where malformed packets can knock out remote access before the tunnel is even trusted. I would patch that before almost...