ShareOpenly has Cross-Site Scripting (XSS) via Missing esc_url() on Shared URL in Content Output
The ShareOpenly WordPress plugin prior to version 1.2.1 contains a Cross-Site Scripting vulnerability caused by the absence of WordPress's `esc_url()` escaping function on the `$url` variable before it is rendered into HTML content. This variable is constructed from `home_url( add_query_arg( array(), $wp->request ) )` and is concatenated directly into an HTML `href` attribute on every singular post or page where the plugin's sharing link is displayed. WordPress's security handbook mandates that every URL placed in HTML output must be passed through `esc_url()`, which both HTML-encodes special characters (converting `"`, `<`, `>` into their safe HTML entity equivalents) and strips dangerous URI schemes such as `javascript:` and `data:`. The omission of this function means that if the `$url` value ever contains HTML-special characters or a dangerous URI scheme — through a `home_url` WordPress filter applied by another plugin or theme, through certain web server or hosting configurations, or through future code changes — the unescaped content will be injected verbatim into the rendered HTML of every post or page on the site. Version 1.2.1 contains a patch for the issue.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-48094
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 7 Nov 2026, 06:02 UTC · Revision 1
Source evidence
ShareOpenly has Cross-Site Scripting (XSS) via Missing esc_url() on Shared URL in Content Output
core-osv · Original sourcePublished 7 Aug 2026, 12:37 UTC
The ShareOpenly WordPress plugin prior to version 1.2.1 contains a Cross-Site Scripting vulnerability caused by the absence of WordPress's `esc_url()` escaping function on the `$url` variable before it is rendered into HTML content. This variable is constructed from `home_url( add_query_arg( array(), $wp->request ) )` and is concatenated directly into an HTML `href` attribute on every singular post or page where the plugin's sharing link is displayed. WordPress's security handbook mandates that every URL placed in HTML output must be passed through `esc_url()`, which both HTML-encodes special characters (converting `"`, `<`, `>` into their safe HTML entity equivalents) and strips dangerous URI schemes such as `javascript:` and `data:`. The omission of this function means that if the `$url` value ever contains HTML-special characters or a dangerous URI scheme — through a `home_url` WordPress filter applied by another plugin or theme, through certain web server or hosting configurations, or through future code changes — the unescaped content will be injected verbatim into the rendered HTML of every post or page on the site. Version 1.2.1 contains a patch for the issue.
osv:CVE-2026-48094
Complete source record
{
"id": "8fce117d3135bc85ae7d8bd9d226027c1cd384c3d33aee567a6d79150f10118e",
"url": "https://osv.dev/vulnerability/CVE-2026-48094",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "ShareOpenly has Cross-Site Scripting (XSS) via Missing esc_url() on Shared URL in Content Output",
"summary": "The ShareOpenly WordPress plugin prior to version 1.2.1 contains a Cross-Site Scripting vulnerability caused by the absence of WordPress's `esc_url()` escaping function on the `$url` variable before it is rendered into HTML content. This variable is constructed from `home_url( add_query_arg( array(), $wp->request ) )` and is concatenated directly into an HTML `href` attribute on every singular post or page where the plugin's sharing link is displayed. WordPress's security handbook mandates that every URL placed in HTML output must be passed through `esc_url()`, which both HTML-encodes special characters (converting `\"`, `<`, `>` into their safe HTML entity equivalents) and strips dangerous URI schemes such as `javascript:` and `data:`. The omission of this function means that if the `$url` value ever contains HTML-special characters or a dangerous URI scheme — through a `home_url` WordPress filter applied by another plugin or theme, through certain web server or hosting configurations, or through future code changes — the unescaped content will be injected verbatim into the rendered HTML of every post or page on the site. Version 1.2.1 contains a patch for the issue.",
"evidence": "osv:CVE-2026-48094",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-48094",
"aliases": [
"CVE-2026-48094",
"GHSA-v43f-f7jq-7hh5"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/dartiss/shareopenly",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "faf58f0497f3a024ea52c425122ef5aa22e0d7f6"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "1.2.1"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "faf58f0497f3a024ea52c425122ef5aa22e0d7f6"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "faf58f0497f3a024ea52c425122ef5aa22e0d7f6"
}
],
"source": "REFERENCES_TAG",
"original_tag": "1.2.1"
},
{
"range": [
{
"introduced": "0"
},
{
"fixed": "1.2.1"
}
],
"source": "DESCRIPTION"
}
]
}
}
],
"versions": [
"1.2",
"1.1",
"1.0.1",
"1.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-48094.json"
}
}
],
"modified": "2026-10-28T02:30:49.815705257Z",
"provider": "osv",
"references": [
"https://github.com/dartiss/shareopenly/releases/tag/1.2.1",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48094.json",
"https://github.com/dartiss/shareopenly/security/advisories/GHSA-v43f-f7jq-7hh5",
"https://nvd.nist.gov/vuln/detail/CVE-2026-48094",
"https://github.com/dartiss/shareopenly/commit/faf58f0497f3a024ea52c425122ef5aa22e0d7f6"
],
"provider_metadata": {
"cwe_ids": [
"CWE-79"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48094.json"
}
},
"related_cves": [
{
"value": "CVE-2026-48094",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 518427,
"published_at": "2026-08-07T12:37:17.468+00:00"
}