Apache PDFBox Holds Backward‑Compatible SHA-1, How to Move to SHA-256

Summary Apache PDFBox continues to ship SHA‑1 usage in its legacy digital‑signature workflow. The SHA‑1 code paths are not used for the actual cryptographic validity of a PDF signature in modern PDFs, but they are retained for backward‑compatibility and for hashing data structures in the PDF format that are not security sensitive. As a result, … Read more

How to Convert Text Requirements into a Correct ER Diagram

Summary The failure to translate a text-based requirements document into a functional Entity-Relationship Diagram (ERD) is a classic architectural breakdown. In this case, a student attempted to model a “Techno Fest” system but failed to identify the underlying business logic and relational constraints. The core issue is not a lack of drawing skills, but a … Read more

Fixing ASP.NET Web Forms WS‑Federation Sign‑Out Redirects in ADFS

Summary A production issue was identified where users, upon logging out of an ASP.NET Web Forms application, were being stranded on the ADFS default logout confirmation page instead of being redirected back to the application’s login screen. Despite the application correctly issuing a wsignout1.0 request containing a valid wreply parameter, the ADFS server ignored the … Read more

Verify Entra ID Tenant User Consent Setting via Graph API

Summary During an infrastructure automation audit, an engineering team attempted to programmatically verify the User Consent Settings within Microsoft Entra ID (formerly Azure AD). The goal was to ensure that “User consent to apps accessing company data on their behalf” was strictly disabled to prevent shadow IT and unauthorized data exfiltration. Despite querying various Graph … Read more

Intermittent Teams Bot OAuth Authentication Failures and How to Fix Them

Summary We observed an intermittent failure pattern in our Microsoft Teams bot authentication flow using the OAuthPrompt activity. The issue manifests as a non-deterministic user experience: occasionally, the OAuth flow completes seamlessly via a seamless redirect, while other times, the user is prompted for a Manual Magic Code and the bot receives a CancelledByUser state … Read more

ARM FVP executes XN‑protected code that faults on real silicon

Summary During a firmware bring-up exercise using the ARM Trusted Firmware (TF-A) on an Arm FVP (Fixed Virtual Platform), an unexpected architectural behavior was observed. A memory region containing BL31 code was explicitly marked with the Execute-Never (XN) attribute in the Stage 1 translation tables at EL3. Despite the MMU being enabled and synchronization instructions … Read more

Authentication strategies for .NET MAUI Blazor Hybrid and WASM

Summary For a solution containing a .NET MAUI Blazor Hybrid app, a Blazor WebAssembly (standalone, no SSR) app, and a separate ASP.NET Core server, the recommended authentication approaches are: OpenID Connect/OAuth2 with IdentityServer or Azure AD – central token service hosted in the ASP.NET server. ASP.NET Core Cookie Authentication + JWT bearer for APIs – … Read more

BouncyCastle FIPS Compliance Configuration Guide

Summary The clientappears to be using the BouncyCastle FIPS provider but the captured ClientHello still advertises a broad cipher suite list and permits TLS 1.2 negotiations that are not restricted to FIPS‑validated algorithms. This indicates that the FIPS mode is not enforced end‑to‑end, resulting in a compliance gap despite the provider being present in the classpath. … Read more

List-Unsubscribe headers don’t prove consent in email campaigns

Summary We investigated a report regarding unsolicited marketing emails containing the List-Unsubscribe and List-Unsubscribe-Post: List-Unsubscribe=One-Click headers. The user observed that while they never opted into these lists, the emails were technically well-formed, passing SPF but failing DMARC alignment. This postmortem analyzes the mechanics of unsolicited list injection, the role of ESP (Email Service Provider) automation, … Read more

Secure Dispatch: Replace String Reflection with a Typed Registry

Summary An engineer attempted to implement a dynamic dispatch mechanism by converting a URL string directly into a class type for instantiation. While the intent was to avoid a massive switch statement or a repetitive list of manual instantiations, the proposed approach—using string names to drive object creation—introduced a critical architectural vulnerability and a high … Read more