Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-22005-OAuth-2.0-Device-Code-Phishing-Short-Interval- — Proof-of-concept for CVE-2026-22005 showing OAuth 2.0 device code phishing via too-short polling interval, with vulnerable Flask server and exploit flow for token theft. | Kitploit
Tools/GitHubGitHub/george0papasotiriou/cve-2026-22005-oauth-2.0-device-code-phishing-short-interval-
Authentication & AuthorizationPhishing ToolsExploitationWeb Application ExploitationPhishingWeb SecurityLearning & Education
GitHubgeorge0papasotiriou/cve-2026-22005-oauth-2.0-device-code-phishing-short-interval-

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2026-22005-OAuth-2.0-Device-Code-Phishing-Short-Interval-

Proof-of-concept for CVE-2026-22005 showing OAuth 2.0 device code phishing via too-short polling interval, with vulnerable Flask server and exploit flow for token theft.

View Repository
81 month agoNot yet reviewed

CVE-2026-22005 – OAuth 2.0 Device Code Phishing (Short Interval)

Program Code (Python)

root@kitploit:~
# device_code_server.py - Authorization server with too-fast polling
import time, secrets
codes = {}

@app.route('/device/code')
def device_code():
    code = secrets.token_urlsafe(16)
    codes[code] = {'user_code': secrets.token_hex(4), 'status': 'pending'}
    return jsonify(codes[code])

@app.route('/token')
def token():
    code = request.args['device_code']
    # Vulnerability: allows polling every 1 second, and attacker can brute-force user_code
    if codes[code]['status'] == 'pending':
        # Check if user_code was entered (simulated)
        time.sleep(0.5)  # delay to simulate user
        return jsonify({'access_token': 'secret'})

CVE-2026-22005 – OAuth 2.0 Device Code Phishing via Short Polling Interval

Severity: High

Overview

An OAuth 2.0 device authorization grant allows the client to poll the token endpoint every second. An attacker can initiate a device flow, display the user code to the victim (phishing), and because the polling interval is very short, the attacker receives the access token before the victim notices misuse.

Vulnerability Details

  • Type: Social Engineering / Phishing
  • Impact: Account takeover.
  • Root Cause: The authorization server does not enforce a minimum polling interval (should be 5+ seconds) and does not require user verification code confirmation after token issuance.

Exploit Demonstration

Run the simulation:

root@kitploit:~
pip install flask
python device_code_server.py
# Attacker starts flow, gets device_code and user_code, phishes victim.
Download Tool