The easy.jobs – AI powered Job Listing, Job Board, Career Page, Recruitment & Hiring Solution plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'cover_letter' parameter in all versions up to, and including, 2.8.4 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. Successful execution requires an administrator to open the affected candidate's Application tab and click the attacker-crafted link, at which point WHATWG URL parsing collapses the encoded scheme back to javascript: and executes the payload.
easy.jobs <= 2.8.4 - Unauthenticated Stored Cross-Site Scripting via 'cover_letter' Parameter
Problem type
Affected products
wpdevteam
<= 2.8.4 - AFFECTED
References
https://www.wordfence.com/threat-intel/vulnerabilities/id/bff1af96-c60e-4c1e-a793-31cd23ec635e?source=cve
https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.3/admin/react/src/components/Candidate/Details/Tabs/Application.js#L100
https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.3/admin/react/src/components/Messages/sanitize.js#L66
https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.3/admin/react/src/components/Messages/sanitize.js#L139
https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.4/admin/react/src/components/Messages/sanitize.js#L66
https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.4/admin/react/src/components/Candidate/Details/Tabs/Application.js#L100
https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.4/admin/react/src/components/Messages/sanitize.js#L139
https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.4/admin/includes/class-easyjobs-admin-candidates.php#L226
https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.3/admin/includes/class-easyjobs-admin-candidates.php#L226
https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&new=3768199%40easyjobs%2Ftrunk%2Fadmin%2Freact%2Fsrc%2Fcomponents%2FMessages%2Fsanitize.js&old=3754233%40easyjobs%2Ftrunk%2Fadmin%2Freact%2Fsrc%2Fcomponents%2FMessages%2Fsanitize.js&sfp_email=&sfph_mail=
https://plugins.trac.wordpress.org/changeset/3768199/easyjobs/trunk/admin/react/src/components/Candidate/Details/Tabs/Application.js
GitHub Security Advisories
GHSA-wfm8-84j7-5644
The easy.jobs – AI powered Job Listing, Job Board, Career Page, Recruitment & Hiring Solution...
https://github.com/advisories/GHSA-wfm8-84j7-5644The easy.jobs – AI powered Job Listing, Job Board, Career Page, Recruitment & Hiring Solution plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'cover_letter' parameter in all versions up to, and including, 2.8.4 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. Successful execution requires an administrator to open the affected candidate's Application tab and click the attacker-crafted link, at which point WHATWG URL parsing collapses the encoded scheme back to javascript: and executes the payload.
https://nvd.nist.gov/vuln/detail/CVE-2026-112365
https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.3/admin/includes/class-easyjobs-admin-candidates.php#L226
https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.3/admin/react/src/components/Candidate/Details/Tabs/Application.js#L100
https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.3/admin/react/src/components/Messages/sanitize.js#L139
https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.3/admin/react/src/components/Messages/sanitize.js#L66
https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.4/admin/includes/class-easyjobs-admin-candidates.php#L226
https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.4/admin/react/src/components/Candidate/Details/Tabs/Application.js#L100
https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.4/admin/react/src/components/Messages/sanitize.js#L139
https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.4/admin/react/src/components/Messages/sanitize.js#L66
https://plugins.trac.wordpress.org/changeset/3768199/easyjobs/trunk/admin/react/src/components/Candidate/Details/Tabs/Application.js
https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&new=3768199%40easyjobs%2Ftrunk%2Fadmin%2Freact%2Fsrc%2Fcomponents%2FMessages%2Fsanitize.js&old=3754233%40easyjobs%2Ftrunk%2Fadmin%2Freact%2Fsrc%2Fcomponents%2FMessages%2Fsanitize.js&sfp_email=&sfph_mail=
https://www.wordfence.com/threat-intel/vulnerabilities/id/bff1af96-c60e-4c1e-a793-31cd23ec635e?source=cve
https://github.com/advisories/GHSA-wfm8-84j7-5644
JSON source
https://cveawg.mitre.org/api/cve/CVE-2026-112365Click to expand
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-112365",
"assignerOrgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
"assignerShortName": "Wordfence",
"dateUpdated": "2026-10-30T18:08:57.531Z",
"dateReserved": "2026-10-19T15:19:16.195Z",
"datePublished": "2026-10-30T17:15:31.461Z",
"state": "PUBLISHED"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
"shortName": "Wordfence",
"dateUpdated": "2026-10-30T17:15:31.461Z"
},
"title": "easy.jobs <= 2.8.4 - Unauthenticated Stored Cross-Site Scripting via 'cover_letter' Parameter",
"descriptions": [
{
"lang": "en",
"value": "The easy.jobs – AI powered Job Listing, Job Board, Career Page, Recruitment & Hiring Solution plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'cover_letter' parameter in all versions up to, and including, 2.8.4 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. Successful execution requires an administrator to open the affected candidate's Application tab and click the attacker-crafted link, at which point WHATWG URL parsing collapses the encoded scheme back to javascript: and executes the payload."
}
],
"affected": [
{
"vendor": "wpdevteam",
"product": "easy.jobs – AI powered Job Listing, Job Board, Career Page, Recruitment & Hiring Solution",
"defaultStatus": "unaffected",
"versions": [
{
"version": "0",
"status": "affected",
"versionType": "semver",
"lessThanOrEqual": "2.8.4"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"description": "CWE-79 Improper Neutralization of Input During Web Page Generation",
"cweId": "CWE-79",
"type": "CWE"
}
]
}
],
"references": [
{
"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/bff1af96-c60e-4c1e-a793-31cd23ec635e?source=cve"
},
{
"url": "https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.3/admin/react/src/components/Candidate/Details/Tabs/Application.js#L100"
},
{
"url": "https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.3/admin/react/src/components/Messages/sanitize.js#L66"
},
{
"url": "https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.3/admin/react/src/components/Messages/sanitize.js#L139"
},
{
"url": "https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.4/admin/react/src/components/Messages/sanitize.js#L66"
},
{
"url": "https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.4/admin/react/src/components/Candidate/Details/Tabs/Application.js#L100"
},
{
"url": "https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.4/admin/react/src/components/Messages/sanitize.js#L139"
},
{
"url": "https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.4/admin/includes/class-easyjobs-admin-candidates.php#L226"
},
{
"url": "https://plugins.trac.wordpress.org/browser/easyjobs/tags/2.8.3/admin/includes/class-easyjobs-admin-candidates.php#L226"
},
{
"url": "https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&new=3768199%40easyjobs%2Ftrunk%2Fadmin%2Freact%2Fsrc%2Fcomponents%2FMessages%2Fsanitize.js&old=3754233%40easyjobs%2Ftrunk%2Fadmin%2Freact%2Fsrc%2Fcomponents%2FMessages%2Fsanitize.js&sfp_email=&sfph_mail="
},
{
"url": "https://plugins.trac.wordpress.org/changeset/3768199/easyjobs/trunk/admin/react/src/components/Candidate/Details/Tabs/Application.js"
}
],
"metrics": [
{
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N",
"baseScore": 7.2,
"baseSeverity": "HIGH"
}
}
],
"timeline": [
{
"time": "2026-10-19T15:30:57.000Z",
"lang": "en",
"value": "Vendor Notified"
},
{
"time": "2026-10-30T16:19:54.000Z",
"lang": "en",
"value": "Disclosed"
}
],
"credits": [
{
"lang": "en",
"value": "poiri3r",
"type": "finder"
}
]
},
"adp": [
{
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2026-10-30T18:08:57.531Z"
},
"title": "CISA ADP Vulnrichment",
"metrics": [
{}
]
}
]
}
}