This vulnerability in the Saitama Addon Pack plugin isn't a typical stored XSS — it's a privilege escalation channel that exploits WordPress's own permission architecture. The plugin fails to sanitize certain post metadata values at output time, allowing any user with contributor-level access or higher to inject malicious JavaScript that executes when an editor or administrator reviews their submitted content. Here's what matters:

The privilege floor matters critically. If this truly starts at contributor, attackers can reliably reach admin browsers through a channel WordPress itself mandates — editors must process contributor submissions as part of their workflow. This isn't a shot-in-the-dark stored XSS; it's a deterministic victim delivery system. Treat the CVSS 5.4 as a technical payload score that understates real-world risk.

The phrase 'certain post metadata values' in the advisory is the most important forensic clue. Partial sanitization means some fields were reviewed and protected while others weren't. This pattern is common under time pressure: developers fix the fields that surface obvious symptoms, leaving gaps where injection paths are non-obvious. Review your plugin's full metadata schema — not just what was reported — because this pattern suggests the developer was working reactively, not comprehensively.

Beyond this specific plugin, recognize the systemic gap: WordPress provides no canonical output-context escaping function for get_post_meta(). Developers must independently determine which escaping applies to each metadata field and context. Content sanitization matured under scanner pressure between 2015-2019; metadata injection is the second-generation attack surface that flourished precisely because the first generation closed. Assume every plugin with custom metadata handling has equivalent exposure unless explicitly verified.

Immediate actions: confirm your version and apply the patch; audit all post meta usage in the plugin for output contexts that lack escaping; treat any metadata field that accepts user input as potentially exploitable regardless of how 'internal' it feels; and extend this audit to any other plugins from the same author, as security review cadence — not just this instance — is what produced this gap.