LiveActive security incident?Get immediate response
CVE Record

CVE-2021-24559: Qyrr < 0.7 - Authenticated (contributor+) Stored XSS

The Qyrr WordPress plugin before 0.7 does not escape the data-uri of the QR Code when outputting it in a src attribute, allowing for Cross-Site Scripting attacks. Furthermore, the data_uri_to_meta AJAX action, available to all authenticated users, only had a CSRF check in place, with the nonce available to users with a role as low as Contributor allowing any user with such role (and above) to set a malicious data-uri in arbitrary QR Code posts, leading to a Stored Cross-Site Scripting issue.

MediumCVSS 5.4Not KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

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.
Prepared
Confidence
high
Sources
3

Public sources used

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

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 · medium confidence lookup

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 lookup
cwe · medium confidence lookup

CWE-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 lookup
cve · low confidence lookup

CVE-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
Vulnerability profileCVE Program record
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

Official CVE source material

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.

1CVSS vectors
0Timeline events
0ADP providers
2Source links

CVSS vector scores

1 official score

We 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.

ScoreVersionSeverityVectorExploitImpactSource
5.4CVSS 3.1MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N2.32.7Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

5.4Medium
CVSS 3.1 vector shape for CVE-2021-24559Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Source materials

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
UnknownQyrr0unaffected
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-352 · source CWE mapping

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.

CWE-79 · source CWE mapping

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.