
キャプチャした SIP digest Authorization ヘッダーをリプレイして nonce の一意性/有効期限をバイパスし、不正な VoIP 通話を行う CVE-2026-21010 用 Python PoC。
# sip_server_sim.py - SIP server that accepts replayed authenticated requests
from flask import Flask, request
app = Flask(__name__)
# Simulated nonce storage: doesn't track used nonces
used_nonces = set()
@app.route('/call', methods=['POST'])
def call():
auth_header = request.headers.get('Authorization')
if not auth_header:
return 'Unauthorized', 401, {'WWW-Authenticate': 'Digest realm="test", nonce="abc123"'}
# Vulnerability: no replay protection; accepts the same nonce repeatedly
# In real SIP, a nonce should be used once; here we skip that check.
return "Call connected"
if __name__ == '__main__':
app.run(port=5060)
SIP サーバーはダイジェスト認証を実装していますが、nonce の一意性や有効期限を強制しません。攻撃者は単一の有効な Authorization ヘッダーをキャプチャしてリプレイし、認証をバイパスして不正な通話を行うことができます。
pip install flask
python sip_server_sim.py
python exploit_sip_replay.py
リプレイされたリクエストは成功します。