https://secureum.substack.com/p/audit-findings-101
특정 사용자가 플래시 론(flash loan)을 받는 시나리오에서, _parseFLAndExecute() 함수는 플래시 론 래퍼 컨트랙트(예: FLAaveV2, FLDyDx)에 사용자의 DSProxy를 대신하여 함수를 실행할 수 있는 권한을 부여합니다.
이 실행 권한은 전체 레시피 실행이 끝난 후에야 철회됩니다.
따라서 레시피 실행 도중 호출되는 외부 호출 중 하나가 악의적인 경우, executeAction()을 재호출(리엔트런시 공격)하여 원하는 임의 작업을 주입할 수 있습니다.
예:
권장 조치:
심각도: 치명적(Critical)
코드에서 각 토큰의 소수 자릿수(decimals)가 최대 18자리라고 가정하고 있습니다.
하지만 드물게 18자리를 초과하는 토큰이 존재할 수 있습니다.
예: YAMv2는 24 decimal을 사용합니다.
이러한 경우 코드 흐름이 깨지거나 예측 불가능한 결과가 발생할 수 있습니다.