---
id: "CVE-2017-20289"
kind: "vulnerability"
aliases: ["CVE-2017-20289"]
title: "Broadstreet Ad Widget WordPress plugin: local file inclusion runs attacker-chosen PHP"
severity: "high"
cvss: 7.7
epss: 0.00762
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["package", "self-hosted", "wordpress"]
not_affected_if: ["plugin-2.12.0-or-later", "plugin-not-installed"]
published_at: "2026-10-22T11:17:03+00:00"
first_seen_at: "2026-10-23T21:57:30+00:00"
updated_at: "2026-10-25T03:10:25+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2017-20289", "first_seen_at": "2026-10-23T21:57:30+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2017-20289", "first_seen_at": "2026-10-24T07:15:51+00:00"}]
---

# Broadstreet Ad Widget WordPress plugin: local file inclusion runs attacker-chosen PHP

The Broadstreet Ad Widget plugin for WordPress passes unsanitized input to a PHP require call in views/modal/index.php, so directory traversal in the 'step' parameter can include local files. An authenticated user can use this to execute attacker-chosen PHP code on the server.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed version of the Broadstreet Ad Widget plugin in the WordPress admin plugin list or in `wp-content/plugins/` (the version is in the plugin header).
- Look for `views/modal/index.php` in the plugin directory and check whether it passes the `step` parameter to `require`.

## Fix

- Update the Broadstreet Ad Widget plugin to `2.12.0` or later.
- If you cannot update, deactivate the plugin until you can.

## Timeline

- 2026-10-23T21:57:30+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2017-20289
- 2026-10-24T07:15:51+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2017-20289

## From the sources

Broadstreet Ad Widget plugin for WordPress 2.2.0 before 2.12.0 contains a local file inclusion vulnerability that allows authenticated users to execute attacker-chosen PHP files by passing unsanitized input to require in views/modal/index.php. Attackers can supply directory traversal sequences in the 'step' parameter, optionally with a null byte, to include local files and execute PHP code. Exploitation evidence was first observed by the Shadowserver Foundation on 2023-10-19.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
