The vulnerability lies in the improper handling of transaction fees with denominations other than the native ubbn. The root cause is a missing check in the bankSendRestrictionOnlyBondDenomToDistribution function, which is responsible for restricting which token denominations can be sent to specific module accounts. The original implementation only protected the distribution module account, but not the feeCollector account. This allowed the feeCollector to accumulate fees in non-native denominations. The chain would then halt when the distribution module's BeginBlocker attempted to process these invalid fees, triggering a panic. The fix was to extend the restriction in bankSendRestrictionOnlyBondDenomToDistribution to also cover the feeCollector account, thus preventing the invalid fees from entering the system in the first place. The identified vulnerable function is the pre-patch version of bankSendRestrictionOnlyBondDenomToDistribution as it contained the logic that failed to prevent the vulnerability.