За даними дослідників, двома викликами mintfCashPair() було створено зобов’язання −2^128 fCash, яке небезпечне перетворення на uint128 звело до нуля під час оцінки забезпечення. З escrow контракту, за повідомленнями, вивели близько 69 257 DAI та 1 650 824 USDC, обміняли їх приблизно на 689,2 ETH і переказали до Torn...
ОпублікувавВідредаговано за допомогою GPT-5.6 TerraЗображення створено за допомогою GPT Image 2
Research answer

Create a landscape editorial hero image for this Studio Global article: How did an attacker exploit an unsafe uint128 downcast/integer-overflow flaw in Notional Finance’s legacy Ethereum V1 escrow contract on Sep. Article summary: The reported exploit abused a legacy V1 accounting path: the attacker created an fCash liability at the `2^128` boundary, then an unsafe cast to `uint128` truncated that liability to zero during free-collateral valuation. Topic tags: general, general web, user generated, government, documentation. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text,
Повідомлений інцидент із Notional Finance не схожий на звичайну нестачу застави. За попередньою реконструкцією, проблема полягала у розбіжності в обліку: було створено гігантський борг fCash на межі 2^128, а під час розрахунку вільного забезпечення протокол звузив значення до uint128. У результаті борг у цій критичній точці нібито став нульовим — і рахунок міг виглядати платоспроможним, хоча не мав би пройти перевірку для виведення активів. 4
16
Важливо: ця картина спирається на ончейн-моніторинг і повідомлення дослідників безпеки, а не на офіційний постмортем Notional. Рух коштів у блокчейні можна перевірити, але повну послідовність викликів, остаточний масштаб збитків і статус виправлень на момент публікацій не було офіційно підтверджено. 3
4
У Notional V1 майбутні грошові зобов’язання представлялися токенами fCash. Згідно з публічним попередженням CertiK, зловмисник двічі викликав mintfCashPair() і створив зобов’язання −2^128. Під час оцінки вільного забезпечення небезпечне приведення до uint128 нібито обрізало це значення до 0. 16
Описана дослідниками схема виглядала так:
uint128.Тому цей випадок точніше описувати не просто як «переповнення цілих чисел», а як помилку звужувального перетворення типів та порушення облікового інваріанта. Ключовий ефект, про який повідомляли, полягав у тому, що від’ємне зобов’язання стало нулем саме в механізмі оцінки, який мав не допустити виведення коштів за недостатнього забезпечення. 4
16
Ончейн-звіти оцінювали втрати приблизно у 69 257 DAI та 1 650 824 USDC, або близько $1,728 млн. За повідомленнями, ці активи обміняли приблизно на 689,2 ETH, після чого внесли до Tornado Cash. 2
15
У публікаціях фігурував escrow-контракт Notional Finance за адресою 0x9abd0b8868546105F6F48298eaDC1D9c82f7f683. Один зі звітів вказував на підготовчу транзакцію з адреси, що закінчується на Ce38, о 23:58:47 UTC 3 вересня 2026 року; приблизно через три хвилини, вже на початку 4 вересня, відбулася транзакція виведення коштів. 17
23
Дослідники також пов’язували з переказами дві Ethereum-адреси:
0xC954…De690xDaCC…Ce38Це ончейн-атрибуція дослідників, а не встановлення особи, організації чи фактичного контролера цих гаманців. 11
Переказ DAI та USDC в ETH змінив ситуацію з потенційним відстеженням активів. Вихідні операції зі стейблкоїнами чітко видно в Ethereum, але після обміну активи опинилися в ETH. Подальші внесення до Tornado Cash додали шар приватності, призначений для приховування зв’язку між джерелом, призначенням і контрагентами транзакцій. 2
29
Це не означає, що блокчейн-аналіз стає неможливим, і не доводить, хто контролював будь-яке подальше виведення. Проте після потрапляння коштів у міксер простежити прямий шлях від скомпрометованого escrow-контракту до конкретного подальшого отримувача стає істотно складніше. 29
На час появи повідомлень Notional не оприлюднила офіційної відповіді щодо інциденту. Тому залишалися відкритими важливі питання:
Отже, оприлюднену технічну причину варто розглядати як сильну, але все ж попередню реконструкцію — не як заміну аудованому постмортему або офіційному звіту.
Старий контракт не стає безпечним лише тому, що він більше не є центром розвитку продукту. Якщо він досі зберігає активи або має доступ до випуску токенів, розрахунків, застави чи механізмів виведення, він залишається реальною фінансовою поверхнею атаки.
Для команд протоколів цей випадок підкреслює потребу перевіряти комплексно кілька речей:
2^128;Ширший патерн для DeFi добре відомий: невелика помилка в представленні даних або авторизації може перетворитися на повну втрату коштів, якщо дістається шляху виведення ліквідних активів. Захист потребує не лише аудиту окремих функцій, а й доказу того, що облікові інваріанти системи зберігаються в кожній досяжній послідовності викликів.
Studio Global AI
This page includes a source-backed answer you can continue inside Studio Global.
За даними дослідників, двома викликами mintfCashPair() було створено зобов’язання −2^128 fCash, яке небезпечне перетворення на uint128 звело до нуля під час оцінки забезпечення.
За даними дослідників, двома викликами mintfCashPair() було створено зобов’язання −2^128 fCash, яке небезпечне перетворення на uint128 звело до нуля під час оцінки забезпечення. З escrow контракту, за повідомленнями, вивели близько 69 257 DAI та 1 650 824 USDC, обміняли їх приблизно на 689,2 ETH і переказали до Tornado Cash.
Випадок показує, що застарілі DeFi контракти залишаються критичною поверхнею атаки, якщо все ще зберігають активи або беруть участь у розрахунках і виведенні коштів.