
عرض تعليمي لـ CVE-2026-11107 مع واجهة برمجة تطبيقات Flask ضعيفة وسكربت استغلال، يوضح كيف تمكّن معرفات UUIDv1 القابلة للتنبؤ من مراجع كائنات مباشرة غير آمنة.
# idor_server.py - API with UUIDv1 user IDs
import uuid, time
from flask import Flask, request, jsonify
app = Flask(__name__)
# Generate predictable UUIDv1 based on timestamp + MAC
users = {
str(uuid.uuid1()): {"name": "Alice", "data": "private1"},
str(uuid.uuid1()): {"name": "Bob", "data": "private2"},
}
@app.route('/user/<user_id>')
def get_user(user_id):
if user_id in users:
return jsonify(users[user_id])
return "Not found", 404
if __name__ == '__main__':
app.run(port=5000)
تستخدم واجهة برمجة تطبيقات REST إصدار UUID 1 كمراجع مباشرة للكائنات لموارد المستخدمين. يحتوي UUIDv1 على مكوّن طابع زمني، مما يجعله قابلًا للتوقع بدرجة كبيرة. يمكن للمهاجم تعداد معرّفات UUID الصالحة للمستخدمين والوصول إلى البيانات الخاصة.
pip install flask
python idor_server.py
python exploit_idor_uuid.py