
Симуляция на Python уязвимости CVE-2026-22012, показывающая, как отсутствие Final-Unit-Indication в Diameter Credit-Control позволяет получить неограниченную квоту и обойти сервис в сетях 5G.
# diameter_credit_control_sim.py - Simulated OCS with missing final-unit indication
class OCS:
def process_CCR(self, request):
# Vulnerability: always returns SUCCESS with same quota, never sends final-unit
return {'Result-Code': 2001, 'Granted-Service-Unit': {'CC-Total-Octets': 5000}}
class Client:
def send_CCR(self):
response = ocs.process_CCR({'type': 'INITIAL'})
print(f"Received quota: {response['Granted-Service-Unit']}")
ocs = OCS()
client = Client()
client.send_CCR()
Приложение Credit-Control протокола Diameter не отправляет AVP Final-Unit-Indication, когда баланс абонента исчерпан. Клиент продолжает предоставлять услугу без списания кредитов, что позволяет использовать её неограниченно и бесплатно.
Запустите симуляцию:
python diameter_credit_control_sim.py
Клиент получает новую квоту бесконечно.