{"id":"CVE-2026-116609","aliases":[],"title":"WP Visitor Statistics (Real Time Traffic) <= 8.8 - Authenticated (Contributor+) SQL Injection via 'from' Shortcode Attribute","titleSource":"Wordfence","descriptionSource":"Wordfence","products":[{"vendor":"osamaesh","name":"WP Visitor Statistics (Real Time Traffic)","platforms":[],"versions":[{"version":"0","status":"affected","lessThanOrEqual":"8.8","versionType":"semver"}],"defaultStatus":"unaffected","source":"Wordfence","url":"https://www.cve.org/CVERecord?id=CVE-2026-116609"}],"remediation":[],"description":"The WP Visitor Statistics (Real Time Traffic) plugin for WordPress is vulnerable to SQL Injection via the 'from' (and sibling 'to'/'first'/'second') shortcode attribute of the [wsm_showTrafficStatsList] shortcode in versions up to, and including, 8.8 This is due to insufficient escaping on the user-supplied attribute and lack of sufficient preparation on the existing SQL query: `shortcode_atts()` returns attacker-supplied shortcode attributes verbatim (WP core performs no sanitization), only `$atts['id']` is re-sanitized afterward, and the raw value is then concatenated into a double-quoted SQL string literal inside `fnGetHourlyReportByDateNameTimeZone()` (`includes/wsm_db.php:1449`) and executed via `$wpdb->get_results()`. This makes it possible for authenticated attackers, with Contributor-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.","severity":"medium","score":6.5,"published":"2026-10-28T06:45:04.986Z","modified":"2026-10-28T06:45:04.986Z","withdrawn":false,"knownExploited":false,"affected":[],"references":["https://www.wordfence.com/threat-intel/vulnerabilities/id/00dbb2e7-5989-4fb9-b30b-ee582bf39e3f?source=cve","https://plugins.trac.wordpress.org/browser/wp-stats-manager/tags/8.8/includes/wsm_db.php#L1449","https://plugins.trac.wordpress.org/browser/wp-stats-manager/tags/8.8/includes/wsm_statistics.php#L2002","https://plugins.trac.wordpress.org/browser/wp-stats-manager/tags/8.8/includes/wsm_statistics.php#L1980","https://plugins.trac.wordpress.org/browser/wp-stats-manager/tags/8.8/includes/wsm_db.php#L1629","https://plugins.trac.wordpress.org/changeset/3768203/wp-stats-manager/trunk/includes/wsm_db.php"],"sources":[{"name":"CVE","id":"CVE-2026-116609","modified":"2026-10-28T06:45:04.986Z","url":"https://www.cve.org/CVERecord?id=CVE-2026-116609"}],"assessments":[{"source":"Wordfence","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","score":6.5}],"sourceAffected":[],"kev":{"status":"not-listed","checkedAt":"2026-10-28T21:30:35.328Z"},"coverage":[{"source":"NVD","status":"available","checkedAt":"2026-10-28T10:15:35.373Z","attemptedAt":"2026-10-28T10:15:35.373Z"},{"source":"GHSA","status":"available","checkedAt":"2026-10-28T10:15:35.450Z","attemptedAt":"2026-10-28T10:15:35.450Z"},{"source":"EUVD","status":"available","checkedAt":"2026-10-28T10:15:35.596Z","attemptedAt":"2026-10-28T10:15:35.596Z"},{"source":"EPSS","status":"no-result","checkedAt":"2026-10-28T10:15:35.160Z","attemptedAt":"2026-10-28T10:15:35.160Z"}],"evidence":[{"source":"NVD","id":"CVE-2026-116609","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116609","modified":"2026-10-28T07:16:47.287","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","checkedAt":"2026-10-28T10:15:35.373Z"},{"source":"GitHub Advisory Database","id":"GHSA-977q-pq7w-wxx3","url":"https://github.com/advisories/GHSA-977q-pq7w-wxx3","modified":"2026-10-28T09:32:03Z","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","checkedAt":"2026-10-28T10:15:35.450Z"},{"source":"ENISA EUVD","id":"EUVD-2026-111733","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-111733","modified":"Oct 28, 2026, 9:31:55 AM","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","checkedAt":"2026-10-28T10:15:35.596Z"}]}