# WP Job Portal <= 2.7.2 - Authenticated (Subscriber+) Insecure Direct Object Reference to Resume Section Modification and Deletion

- **ID:** WPSEC-2026-2778
- **Plugin:** WP Job Portal – AI-Powered Recruitment System for Company or Job Board website (`wp-job-portal`), https://wordpress.org/plugins/wp-job-portal/
- **Affected versions:** all versions before 2.8.0
- **Fixed in:** 2.8.0 (Update to 2.8.0 or later.)
- **Severity:** Medium 5.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N)
- **Weakness:** CWE-639
- **Usage among sites WPSec scans:** plugin Low, affected versions Low (as of 2026-11-10)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/wp-job-portal
- **Fix released:** 2026-11-09
- **Published:** 2026-11-10
- **URL:** https://wpsec.com/vuln/WPSEC-2026-2778/

## Description

The WP Job Portal plugin for WordPress is vulnerable to Insecure Direct Object Reference via the resume save task (saveresume) in all versions up to, and including, 2.7.2, due to missing validation that a submitted resume section row ID (address, education, employer, reference, language) belongs to the resume being saved. storeResumeSection() binds the posted row ID and updates that row, and removeResumeSection() deletes the row by ID alone. This makes it possible for authenticated attackers, with subscriber-level access and above, such as job seekers, to delete other candidates' resume section entries, or overwrite them and move them into their own resume, where their contents become readable.

## References

- https://wpsec.com/vuln/WPSEC-2026-2778/
- https://plugins.svn.wordpress.org/wp-job-portal/tags/2.8.0/
- https://wordpress.org/plugins/wp-job-portal/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-2778/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
