Vvveb oEmbedProxy vulnerable to server-side request forgery
Vvveb is a powerful and easy to use CMS with page builder to build websites, blogs or ecommerce stores. Prior to 1.0.8.5, the oEmbedProxy() handler in admin/controller/editor/editor.php accepts an attacker-controlled url parameter and passes it to getUrl(), while validateUrl() in system/functions.php checks only the hostname string and does not validate its resolved addresses. An authenticated admin-panel user with editor/* permission can invoke GET /admin/index.php?module=editor/editor&action=oEmbedProxy with a dotted hostname or normalized loopback form that resolves to a private, loopback, link-local, or reserved address, causing the server to issue an HTTP or HTTPS request and return the response body. Storefront users and anonymous visitors cannot invoke the endpoint, but no CSRF token is required because the action uses GET. This can disclose internal service responses or cloud instance metadata and associated credentials. This issue is fixed in version 1.0.8.5.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-54507
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 18:02 UTC · Revision 1
Source evidence
Vvveb oEmbedProxy vulnerable to server-side request forgery
core-osv · Original sourcePublished 17 Sept 2026, 21:44 UTC
Vvveb is a powerful and easy to use CMS with page builder to build websites, blogs or ecommerce stores. Prior to 1.0.8.5, the oEmbedProxy() handler in admin/controller/editor/editor.php accepts an attacker-controlled url parameter and passes it to getUrl(), while validateUrl() in system/functions.php checks only the hostname string and does not validate its resolved addresses. An authenticated admin-panel user with editor/* permission can invoke GET /admin/index.php?module=editor/editor&action=oEmbedProxy with a dotted hostname or normalized loopback form that resolves to a private, loopback, link-local, or reserved address, causing the server to issue an HTTP or HTTPS request and return the response body. Storefront users and anonymous visitors cannot invoke the endpoint, but no CSRF token is required because the action uses GET. This can disclose internal service responses or cloud instance metadata and associated credentials. This issue is fixed in version 1.0.8.5.
osv:CVE-2026-54507
Complete source record
{
"id": "997a5ae15572badd9d9e0ce772a62d29597ae4a3e3b6e6c38efd00a6c0012c33",
"url": "https://osv.dev/vulnerability/CVE-2026-54507",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Vvveb oEmbedProxy vulnerable to server-side request forgery",
"summary": "Vvveb is a powerful and easy to use CMS with page builder to build websites, blogs or ecommerce stores. Prior to 1.0.8.5, the oEmbedProxy() handler in admin/controller/editor/editor.php accepts an attacker-controlled url parameter and passes it to getUrl(), while validateUrl() in system/functions.php checks only the hostname string and does not validate its resolved addresses. An authenticated admin-panel user with editor/* permission can invoke GET /admin/index.php?module=editor/editor&action=oEmbedProxy with a dotted hostname or normalized loopback form that resolves to a private, loopback, link-local, or reserved address, causing the server to issue an HTTP or HTTPS request and return the response body. Storefront users and anonymous visitors cannot invoke the endpoint, but no CSRF token is required because the action uses GET. This can disclose internal service responses or cloud instance metadata and associated credentials. This issue is fixed in version 1.0.8.5.",
"evidence": "osv:CVE-2026-54507",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-54507",
"aliases": [
"CVE-2026-54507",
"GHSA-xxp7-59p2-4jr8"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/givanz/vvveb",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "c8fef41ad8651d348050c513451755ab8882b97e"
},
{
"fixed": "bd280f5ce136f6da22c873fb1eea9cad8741e623"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "1.0.8.5"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "bd280f5ce136f6da22c873fb1eea9cad8741e623"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "c8fef41ad8651d348050c513451755ab8882b97e"
}
],
"source": "REFERENCES_TAG",
"original_tag": "1.0.8.5"
}
]
}
}
],
"versions": [
"1.0.8.4",
"1.0.8.3",
"1.0.8.2",
"1.0.8.1",
"1.0.8",
"1.0.7.3",
"1.0.7.2",
"1.0.7.1",
"1.0.7",
"1.0.6",
"1.0.5",
"1.0.4",
"1.0.3",
"1.0.2",
"1.0.1",
"1.0.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54507.json"
}
}
],
"modified": "2026-10-28T02:30:31.016179816Z",
"provider": "osv",
"references": [
"https://github.com/givanz/Vvveb/releases/tag/1.0.8.5",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54507.json",
"https://github.com/givanz/Vvveb/security/advisories/GHSA-xxp7-59p2-4jr8",
"https://nvd.nist.gov/vuln/detail/CVE-2026-54507",
"https://github.com/givanz/Vvveb/commit/bd280f5ce136f6da22c873fb1eea9cad8741e623"
],
"provider_metadata": {
"cwe_ids": [
"CWE-918"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54507.json"
}
},
"related_cves": [
{
"value": "CVE-2026-54507",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 498122,
"published_at": "2026-09-17T21:44:47.699+00:00"
}