Lucene search
+L

pgAdmin 4 - Authentication Bypass Detection

🗓️ 28 Jul 2026 11:27:38Reported by KittySploitType 
kittysploit
 kittysploit
🔗 kittysploit.com

Security flaw in pgAdmin 4 OAuth2 authentication allows unauthorized access to user data.

Related
Refs
Code
ReporterTitlePublishedViews
Family
bdu_fstec
BDU FSTEC
pgAdmin 4 Privilege Escalation
24 Sep 202400:00
–bdu_fstec
circl
Circl
CVE-2024-9014
23 Sep 202419:39
–circl
cnnvd
CNNVD
pgAdmin 安全漏洞
23 Sep 202400:00
–cnnvd
cve
CVE
CVE-2024-9014
23 Sep 202417:04
–cve
cvelist
Cvelist
CVE-2024-9014 OAuth2 client id and secret exposed through the web browser in pgAdmin 4
23 Sep 202417:04
–cvelist
githubexploit
GithubExploit
Exploit for CVE-2024-9014
8 Jul 202511:12
–githubexploit
githubexploit
GithubExploit
Exploit for CVE-2024-9014
26 Sep 202410:34
–githubexploit
f5
F5 Networks
K000148478: PostgreSQL pgAdmin vulnerability CVE-2024-9014
11 Nov 202403:01
–f5
fedora
Fedora
[SECURITY] Fedora 40 Update: pgadmin4-8.9-3.fc40
4 Oct 202401:47
–fedora
fedora
Fedora
[SECURITY] Fedora 41 Update: pgadmin4-8.12-1.fc41
7 Oct 202400:16
–fedora
Rows per page
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""pgAdmin 4 versions 8."""

import re
from kittysploit import *
from lib.protocols.http.http_client import Http_client


class Module(Scanner, Http_client):
    __info__ = {
        'name': 'pgAdmin 4 - Authentication Bypass Detection',
        'description': 'pgAdmin 4 versions 8.11 and earlier are vulnerable to a security flaw in OAuth2 authentication. This vulnerability allows an attacker to potentially obtain the client ID and secret, leading to unauthorized access to user data.',
        'author': ['KittySploit Team'],
        'severity': 'critical',
        'tags': ['web', 'scanner', 'cve', 'cve2024', 'pgadmin', 'exposure', 'auth-bypass', 'vkev', '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.4,
            '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': 'risk_signal',
                        'from_detail': '',
                    },
                ],
                'consumes_capabilities': [],
                'option_bindings': {},
                'suggested_followups': [],
            },
        },
        'references': [
            'https://github.com/EQSTLab/CVE-2024-9014',
            'https://github.com/pgadmin-org/pgadmin4/issues/7945',
            'https://nvd.nist.gov/vuln/detail/CVE-2024-9014',
        ],
        'cve': 'CVE-2024-9014',
    }

    def run(self):
        path = '/login?next=/'
        r = self.http_request(method='GET', path=path, allow_redirects=False)
        if not r or r.status_code != 200:
            return False
        body = r.text or ""
        body_all = ('<title>pgAdmin 4</title>', 'OAUTH2_CLIENT_SECRET',)
        body_regexes = ('OAUTH2_CLIENT_SECRET": null',)
        if (all(m in body for m in body_all)) and (any(re.search(rx, body) for rx in body_regexes)):
            self.set_info(severity='critical', reason='pgAdmin 4 - Authentication Bypass detected', path=path)
            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
8.2High risk
Vulners AI Score8.2
CVSS 3.16.5 - 9.9
EPSS0.09685
SSVC
0