QooryBeta
Back to narratives
SecurityEmerging
Conversation intelligence

DripsNetwork Exploit: Integer Conversion Flaw Drains 24,882 DAI

An attacker exploited an integer type conversion flaw in the DripsNetwork DaiDripsHub contract, draining 24,882 DAI from the DaiReserve. The vulnerability allowed a negative value to flip the transfer direction, resulting in the theft.

Heat
52
Confidence
90%
Evidence
3
Updated

Why It Happened

The `give(address,uint128)` function converted `uint128 amt` to `int128` without validating that `amt <= type(int128).max`. By passing `2^128 - reserveBalance`, the conversion produced a negative value, which then became positive after negation, reversing the intended deposit into a withdrawal and draining DAI.

Outcome So Far

24,882 DAI stolen from the DaiReserve contract; attacker address 0x84da7a5e2315eb798f04b75554aeb15047269cce; victim contract 0xf9bbb2df44c…

Actors

Timeline order

Post
Parent event 01

Today we notified @dripsnetwork about an exploit involving an old DaiDripsHub contract. An atta…

Today we notified @dripsnetwork about an exploit involving an old DaiDripsHub contract. An attacker exploited a signed-integer cast vulnerability which resulted in $24,882 loss. Specifically the _give function calls _transfer(user, -int128(amt)), intending a …

Related posts@DefimonAlerts
@DefimonAlerts
Open on X1.9K views · 24 likes · 3 reposts

Post
Parent event 02

🚨SlowMist TI Alert🚨 💸 @dripsnetwork Loss: 24,882.99 DAI 🔍 Root Cause: Integer type conversi…

🚨SlowMist TI Alert🚨 💸 @dripsnetwork Loss: 24,882.99 DAI 🔍 Root Cause: Integer type conversion flaw in `DaiDripsHub`'s `give(address,uint128)` function. The function converts `uint128 amt` to `int128` without validating `amt <= type(int128).max`. Attackers…

Related posts@SlowMist_Team
@SlowMist_Team
Open on X4.3K views · 17 likes · 4 reposts

Post
Parent event 03

X conversation update

1 related posts from @exvulsec

Related posts@exvulsec
@exvulsec
Open on X916 views · 13 likes · 5 reposts