LiveActive security incident?Get immediate response
CVE Record

CVE-2026-3516: Contact List <= 3.0.18 - Authenticated (Contributor+) Stored Cross-Site Scripting via '_cl_map_iframe' Parameter

The Contact List plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the '_cl_map_iframe' parameter in all versions up to, and including, 3.0.18. This is due to insufficient input sanitization and output escaping when handling the Google Maps iframe custom field. The saveCustomFields() function in class-contact-list-custom-fields.php uses a regex to extract <iframe> tags from user input but does not validate or sanitize the iframe's attributes, allowing event handlers like 'onload' to be included. The extracted iframe HTML is stored via update_post_meta() and later rendered on the front-end in class-cl-public-card.php without any escaping or wp_kses filtering. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

MediumCVSS 6.4Not KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

CVE-2026-3516 affects the WordPress Contact List plugin through version 3.0.18. A logged-in user with Contributor-level access or higher can store malicious script in a Google Maps iframe field. That script can run for visitors viewing the affected contact page. This is a moderate business risk, mainly for sites allowing lower-privileged content contributors.

Executive priority

Prioritize remediation on public WordPress sites with multiple content contributors or external authors. This is not a critical unauthenticated takeover issue, but stored XSS can affect visitors and administrators. Treat it as a near-term web application hygiene fix, especially for marketing, directory, or staff listing sites.

Technical view

The issue is stored cross-site scripting in the '_cl_map_iframe' parameter. Sources describe insufficient sanitization and output escaping: saveCustomFields() extracts iframe tags but does not validate attributes, then stores the HTML in post meta. class-cl-public-card.php later renders it without escaping or wp_kses filtering. CVSS is 6.4, with low privileges required and changed scope.

Likely exposure

Exposure is limited to WordPress sites running Contact List – Online Staff Directory & Address Book versions up to and including 3.0.18, where untrusted users have Contributor or higher roles. Public visitors or administrators viewing affected pages may trigger the stored script.

Exploitation context

The source bundle does not indicate known active exploitation, and the CVE is not listed as KEV. Exploitation requires an authenticated WordPress account with Contributor-level access or higher, plus access to content using the affected custom field. The impact is typical stored XSS: browser-side script execution in viewers’ sessions.

Researcher notes

Key code paths cited are saveCustomFields() in class-contact-list-custom-fields.php and front-end rendering in class-cl-public-card.php. The reported root cause is regex-based iframe extraction without attribute validation, followed by unescaped output. The provided sources name versions through 3.0.18 as affected; confirm final fixed version from vendor release data.

Mitigation direction

  • Upgrade Contact List to a version newer than 3.0.18 if available from the vendor.
  • If no update is available, follow vendor guidance and restrict Contributor-level access.
  • Review and remove untrusted Google Maps iframe content from Contact List entries.
  • Limit content-editing roles to trusted users until remediation is confirmed.
  • Monitor WordPress.org plugin changeset 3486445 and vendor advisories for fix details.

Validation and detection

  • Inventory WordPress sites for the Contact List plugin and installed version.
  • Confirm whether any site runs version 3.0.18 or earlier.
  • Review Contributor, Author, Editor, and Administrator accounts for unnecessary access.
  • Inspect stored Contact List map iframe fields for suspicious attributes or script-like content.
  • Verify updated code sanitizes iframe attributes and escapes output before rendering.
Prepared
Confidence
high
Sources
6

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-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-2026-3516 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
6.4 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/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
7Source 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
6.4CVSS 3.1MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N3.12.7Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

6.4Medium
CVSS 3.1 vector shape for CVE-2026-3516Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/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
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
anssilaitilaContact List – Online Staff Directory & Address Book0unaffected
Weakness

CWE details

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