CVE-2025-14467

MEDIUM
2025-12-12 [email protected]
4.4
CVSS 3.1
Share

CVSS Vector

CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:N
Attack Vector
Network
Attack Complexity
High
Privileges Required
High
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

2
Analysis Generated
Apr 08, 2026 - 17:22 vuln.today
CVE Published
Dec 12, 2025 - 04:15 nvd
MEDIUM 4.4

Description

The WP Job Portal plugin for WordPress is vulnerable to Stored Cross-Site Scripting in all versions up to, and including, 2.4.4. This is due to the plugin explicitly whitelisting the `<script>` tag in its `WPJOBPORTAL_ALLOWED_TAGS` configuration and using insufficient input sanitization when saving job descriptions. This makes it possible for authenticated attackers, with Editor-level access and above, to inject arbitrary web scripts into job description fields via the job creation/editing interface. These scripts will execute whenever a user accesses an injected page, enabling session hijacking, credential theft, and other malicious activities.This only impacts multi-site installations, or those with unfiltered_html disabled.

Analysis

Stored Cross-Site Scripting in WP Job Portal plugin for WordPress up to version 2.4.4 allows authenticated attackers with Editor-level access or higher to inject arbitrary JavaScript into job description fields by exploiting explicit whitelisting of the <script> tag in the WPJOBPORTAL_ALLOWED_TAGS configuration. The injected scripts execute when users view affected job listings, enabling session hijacking, credential theft, and other malicious activities. Impact is limited to multi-site installations or sites with unfiltered_html disabled. CVSS score of 4.4 reflects the high privilege requirement (PR:H) and high attack complexity (AC:H), though the vulnerability affects a potentially large number of WordPress installations.

Technical Context

The vulnerability stems from CWE-79 (Improper Neutralization of Input During Web Page Generation) in the WP Job Portal plugin's content filtering mechanism. The plugin explicitly whitelists the `<script>` HTML tag within its WPJOBPORTAL_ALLOWED_TAGS constant (visible in constants.php:L351), which overrides WordPress's standard content sanitization practices. When job descriptions are saved via the job creation/editing interface (modules/job/model.php:L1278), the plugin fails to adequately sanitize user input before storage. Upon rendering job listings (modules/job/tmpl/views/frontend/title.php:L231), these unfiltered scripts are executed in the context of user browsers. This design choice bypasses WordPress's protective mechanisms that normally strip executable content from user-generated post content, particularly in multi-site environments where individual sites have stricter content policies or where the unfiltered_html capability is deliberately disabled.

Affected Products

WP Job Portal plugin for WordPress in all versions up to and including 2.4.4 is affected. This includes legacy versions such as 2.3.9 (as evidenced by source code references to tags/2.3.9) through current trunk development versions prior to a security patch. The plugin is distributed through WordPress.org's plugin repository (plugins.trac.wordpress.org/browser/wp-job-portal/). Affected installations are specifically those operating as WordPress multi-site networks or single-site installations with the unfiltered_html capability disabled. According to Wordfence threat intelligence (referenced at https://www.wordfence.com/threat-intel/vulnerabilities/id/0c347b9f-d297-4cb5-9c4a-1001d845ed5a), this configuration affects a significant portion of enterprise and hosting-provider-managed WordPress deployments.

Remediation

Site administrators should immediately update the WP Job Portal plugin to a version released after 2.4.4, which will contain fixes for the WPJOBPORTAL_ALLOWED_TAGS whitelisting and improved input sanitization in the job description storage mechanism. As a temporary workaround prior to patching, disable Editor-level user access to the job creation and editing functionality, restricting job posting to Administrator accounts only, and review existing job postings for injected script content using the Wordfence malware scanner or manual inspection of the wp_postmeta table for suspicious content in job description fields. For multi-site networks, consider temporarily disabling the WP Job Portal plugin across all sites until a patched version is available. Organizations should monitor the official WordPress plugin repository at https://plugins.trac.wordpress.org/browser/wp-job-portal/ for release announcements and apply patches immediately upon availability.

Priority Score

22
Low Medium High Critical
KEV: 0
EPSS: +0.1
CVSS: +22
POC: 0

Share

CVE-2025-14467 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy