---
id: "CVE-2026-109191"
kind: "vulnerability"
aliases: ["CVE-2026-109191"]
title: "WordPress Image Hub plugin leaks third-party API keys to subscribers"
severity: "medium"
cvss: 4.3
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["image-hub", "package", "self-hosted", "wordpress"]
not_affected_if: ["no-subscriber-registration", "plugin-not-installed"]
published_at: "2026-10-16T05:17:28+00:00"
first_seen_at: "2026-10-23T21:57:12+00:00"
updated_at: "2026-10-25T04:41:18+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-109191", "first_seen_at": "2026-10-23T21:57:12+00:00"}]
---

# WordPress Image Hub plugin leaks third-party API keys to subscribers

The Image Hub WordPress plugin, up to and including 1.2.0, prints plaintext API credentials for Giphy, Openverse, Pexels, Pixabay and Unsplash into every admin page. A logged-in Subscriber can read those keys and also overwrite the stored credentials because the settings AJAX handler lacks a capability check.

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

## How to check

- Check the installed version of the Image Hub plugin in WordPress admin under Plugins; affected if it is `1.2.0` or older
- Search admin page source for `image_hub_nonce` to confirm the keys are emitted in page HTML

## Fix

- Update the Image Hub plugin to a version newer than `1.2.0` (unknown: the sources do not name the fixed version)
- Rotate the Giphy, Openverse, Pexels, Pixabay and Unsplash API keys, since they may already have been read or overwritten

## Timeline

- 2026-10-23T21:57:12+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-109191

## From the sources

The Image Hub – Free Images from Unsplash, Pixabay, Pexels, Openverse & Giphy plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 1.2.0 via the 'image_hub_api_keys_* (6 options)' parameter. This makes it possible for authenticated attackers, with subscriber-level access and above, to extract the plaintext API credentials for six third-party services — Giphy, Openverse (client ID and secret), Pexels, Pixabay, and Unsplash — emitted verbatim into every admin page's HTML via wp_localize_script. The leaked page HTML also contains a valid image_hub_nonce AJAX nonce, which — combined with the absence of any capability check in the image_hub_update_settings AJAX handler — allows the same Subscriber-level attacker to overwrite all six stored API credential options via update_option().

---

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