Security readout for executives and security teams
Plain-English summary
Qyrr versions before 0.7 can let a logged-in Contributor or higher store malicious script content in QR code data. The script may run when another user views the affected QR code output. This is not a server takeover, but it can expose session data, alter page behavior, or support account-targeting attacks.
Executive priority
Treat this as a moderate web application risk. Prioritize patching if the site allows many contributors, external authors, contractors, or customer accounts. It is less urgent than unauthenticated remote code execution, but stored XSS can still affect administrator sessions and site trust.
Technical view
The plugin failed to escape QR code data-uri values before placing them in an HTML src attribute. Its data_uri_to_meta AJAX action was reachable by authenticated users, with a nonce available to Contributor-level users, enabling malicious data-uri values in arbitrary QR Code posts. Sources map this to stored XSS and CSRF weaknesses.
Likely exposure
Exposure is limited to WordPress sites using Qyrr before 0.7, especially where Contributor or higher accounts are assigned to untrusted users. Sites without the plugin, running 0.7 or later, or with tightly controlled authenticated accounts are less likely to be affected.
Exploitation context
The source bundle includes a WPScan entry tagged as exploit, but KEV is false and no source provided here states active exploitation. The attack requires authenticated low-privileged access and a victim viewing the affected stored content, matching the CVSS user-interaction and low-privilege requirements.
Researcher notes
Evidence supports authenticated Contributor-plus stored XSS in Qyrr before 0.7 through insufficient output escaping and weak authorization around data_uri_to_meta. The affected vendor is listed as Unknown in the bundle. No CPEs are provided, so asset matching should rely on WordPress plugin inventory and version checks.
Mitigation direction
- Upgrade Qyrr to version 0.7 or later where available.
- Remove or disable Qyrr if it is unused.
- Restrict Contributor-level access to trusted users only.
- Review QR Code posts for suspicious or unexpected data-uri values.
- Check vendor and WPScan guidance for any additional remediation.
Validation and detection
- Inventory WordPress sites for the Qyrr plugin and installed version.
- Confirm no production site runs Qyrr before version 0.7.
- Review users with Contributor or higher roles on affected sites.
- Inspect QR Code posts and metadata for unexpected data-uri content.
- Verify the AJAX action cannot modify arbitrary QR Code posts after updating.
Public sources used
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
CWE-352: User-session and phishing behavior lookup
Client-side and session-facing weaknesses should be reviewed alongside initial-access and user-execution behaviors. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Open ATT&CK lookupCWE-79: User-session and phishing behavior lookup
Client-side and session-facing weaknesses should be reviewed alongside initial-access and user-execution behaviors. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Open ATT&CK lookupCVE-2021-24559 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
Open ATT&CK lookup- Severity
- Medium
- CVSS
- 5.4 (3.1)
- Known Exploited
- No
- Published
Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
CNA and ADP enrichment extracted from CVE v5
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
CVSS vector scores
1 official scoreWe collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N2.32.7Primary CVE scoreVulnerability scoring details
Base CVSS 3.1 score
5.4MediumVector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Source materials
- CVE List V5 sourceCVE List V5
- https://wpscan.com/vulnerability/65a29976-163a-4bbf-a4e8-590ddc4b83f2/CVE reference · exploit, vdb-entry
Products and packages named in the record
CWE details
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
Cross-Site Request Forgery (CSRF)
Cross-Site Request Forgery (CSRF) represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
