' B+ i( @5 b& C0 M' N0 I0x77cf448ceaf8f66e06d1537ef83218725670d3a509583ea0d161533fda56c063 (BNB Chain)- Z8 d k; D5 {+ m; y
- z2 i$ I2 N4 V& x6 O( T0 h8 Z
0x1e769a59a5a9dabec0cb7f21a3e346f55ae1972bb18ae5eeacdaa0bc3424abd2 (Ethereum) 1 n, V3 H5 y, W3 b 3 k3 b. c! F; R5 Z' ~3 d% R' Y: j+ R. O* H. C9 q, c* y/ F
4 a) o0 a: g0 g. O ; R: {- a# d. n2 J' s J本次攻击主要利用了FEGexPRO合约中swapToSwap函数中path地址可控且合约中未对path地址进行有效性校验的漏洞。由于合约中depositInternal函数中更新用户余额时依赖于合约中当前代币余额,攻击者通过传入一个恶意的path地址,调用swapToSwap函数时合约中代币余额并未发生变化,导致攻击者可以反复重置攻击合约在FEGexPRO合约中记录的代币数量,从而让FEGexPRO合约将自身代币反复授权给攻击者所控制的多个恶意合约。 4 ~7 i" l2 [1 ^' x9 g- O9 w 3 A$ O% N( f, ^% {& i, C$ r& i 3 u' t t c+ k, a, r& V1 U6 i r( m& F3 z* D9 V0 o1 m& P9 p+ g3 P
; K& Q' l2 ]4 R9 p- A5 L4 ?- ^- N- K3 K/ }0 Y! _
2 V7 z6 t/ g6 H& M; k' g! C O
' O$ y$ @$ s$ E* b
#4 资金追踪* Y6 [$ U7 @5 t, J0 v5 v# {% ~: s3 |
+ [, z/ s5 M) M; e3 q4 V Y/ @% u7 m5 u6 T* ~) S0 N
截止发文时,被盗资金仍在攻击者地址(0x73b3...ff7c)中并未转移。 2 ]" L& r9 P6 N5 ?% M; J; I : h! ?: m' l4 O & g6 H B* n9 e8 a' a 1 V" A$ D+ ?4 p' c( N / I9 B2 C# v* {- k8 n: \7 j$ L) B* z4 k h
! o" {6 s% B; W6 j# O5 F- W/ c, F0 p$ _5 L# y. ~0 F
3 x2 p+ v8 T3 T9 z! t+ L$ U; p- t" T6 i
" ?$ B+ m8 Y. ^: b# z6 @ 4 ] L/ l- `- `' @#5 总结! J( ~. U5 m8 @- t
. a& h' q+ J% c
8 c! A/ o' X+ _2 Z针对本次事件,成都链安技术团队建议: 9 D4 j% P2 p: r6 U! O: b* S3 z ?+ _. |" ~9 a) |& {. ]