Securitize security record

Arbitrum, Avalanche, Ethereum, Optimism, Polygon (POS)securitize.ioX

As of 14 Oct 2026, Securitize has 37 audit reports by 2 security firms on Trustblock; the latest is by Cyfrin, dated 17 Sep 2026. Those reports list no open critical findings.

Critical findings
No open critical findings
Across the 37 reports, 6 critical findings were reported. Each is marked fixed by the firm that reported it. See the findings
Open the latest report
Your label, live
Get the label for your site

Record last updated . It holds audits and findings, contracts and incidents up to Oct 2026. Statuses are the security firms’ own. Trustblock does not review code.

Audits37

Newest first

AuditSecurity firmDateScopeCritical findingsReport
Securitize SVM VaultRegistrar SPL ACL AuditSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Securitize Solana Whitelister Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Securitize EVM GlobalDenyList Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Securitize DSToken Timelocks Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Securitize Tempo TIP-20 Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Securitize EVM Async Vault Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Securitize Bridge ACL Ext Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Securitize MatchHandler Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Securitize ZKsync Exit Bridge Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Securitize Jump Router Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Securitize DSToken Compliance Diff Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Securitize Whitelist ACL Support Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Securitize Full Investor Locks Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Securitize Solana Bridge Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
SecuritizeBridgeV2 Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Securitize VaultRegistrarV2 Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Securitize Solana SPL ACL Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Solana On/Off Ramp Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the report1 critical finding, fixedOpen · GitHub
Securitize EVM Whitelister Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Bridge Wormhole Executor Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Securitize Public Stock On/Off Ramp Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Solana DSToken Whitelist Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Global Registry Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Solana SPL Token Whitelist Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the reportNo open critical findingsOpen · GitHub
Securitize DSToken Rebasing Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded. See the report1 critical finding, fixedOpen · GitHub

Findings516

Statuses are the security firm’s own, from each report.

SeverityOpenAcknowledgedFixed
Critical006
High016
Medium01445
Low5131308
CriticalInvestors can mint DsTokens out of thin airSolana On/Off Ramp Audit Report · Cyfrin · 19 Feb 2026Fixed

The report gives no description here.

Open the report
CriticalInvestors can steal tokens from other investors since StandardToken::transferFrom never checks spending approvalsSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
CriticalIncomplete access control over deposit and redeemFixed

The report gives no description here.

CriticalMissing validation on the msg.sender in SecuritizeSwap::buy functionFixed

The report gives no description here.

CriticalSecuritizeVault’s share token is in wrong decimalsFixed

The report gives no description here.

CriticalWrong decimals in the calculation of liquidity amount during redemptionFixed

The report gives no description here.

Highbridge validate_locked_tokens diverges from PolicyEngine lock semantics and ignores manual locks with release_time == 0Securitize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
HighBroken identity-to-wallet binding in redeem allows country restriction bypassFixed

The report gives no description here.

HighMissing access control in CollateralLiquidityProvider::setCollateralProviderFixed

The report gives no description here.

HighMissing access control in CollateralLiquidityProvider::setExternalCollateralRedemptionFixed

The report gives no description here.

Show 10 more
HighPrecision Manipulation Due to Missing Mint CheckFixed

The report gives no description here.

HighWrong validation on the availableLiquidity in function SecuritizeRedemption::redeem()Fixed

The report gives no description here.

MediumImproper investor-to-identity validation allows arbitrary wallet attachment to any investor identitySecuritize Solana Whitelister Audit Report · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
MediumTip20RegistryService::removeWallet lets registrars bypass active investor locksSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
MediumComplianceServicePermissionless::_lockedAt and ComplianceServicePermissionless::_cleanupIssuances perform unguarded timestamp + lockPeriod addition, allowing a transfer agent to freeze transfers and iSecuritize DSToken Compliance Diff Audit Report · Cyfrin · 4 Jun 2026Fixed

The report gives no description here.

Open the report
MediumComplianceServicePermissionless::recordIssuance writes a lockup record even when the lock period is zero, causing tokens minted with no lockup to be retroactively locked when a lockup is later enabledSecuritize DSToken Compliance Diff Audit Report · Cyfrin · 4 Jun 2026Fixed

The report gives no description here.

Open the report
MediumTokenLibrary::issueTokensCustom routes every manual lock under permissionless into a single shared investorsLocks[""] bucket, exhausting the global 30-lock cap and DoS-ing all future issuances with maSecuritize DSToken Compliance Diff Audit Report · Cyfrin · 4 Jun 2026Fixed

The report gives no description here.

Open the report
MediumComplianceServiceLibrary::completeTransferCheck EU retail cap skip clause over-extends to qualified sendersSecuritize Full Investor Locks Audit Report · Cyfrin · 29 May 2026Fixed

The report gives no description here.

Open the report
MediumComplianceServiceRegulated::adjustInvestorsCountsByCountry double-increment bricks non-accredited onboardingSecuritize Full Investor Locks Audit Report · Cyfrin · 29 May 2026Fixed

The report gives no description here.

Open the report
MediumComplianceServiceWhitelisted::doPreTransferCheckWhitelisted missing platform-wallet and reallocation carve-outsSecuritize Full Investor Locks Audit Report · Cyfrin · 29 May 2026Fixed

The report gives no description here.

Open the report
Show 10 more
MediumTransactionRelayer holds permanent ISSUER role and accepts EXCHANGE-role signers, EXCHANGE to ISSUER privilege escalationSecuritize Full Investor Locks Audit Report · Cyfrin · 29 May 2026Fixed

The report gives no description here.

Open the report
MediumOutbound bridge_ds_tokens shares a single writable Wormhole sequence per mint, enabling contention-based denial of service and low-volume griefing against stale client buildsSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
Mediumsend_usdc_cross_chain_deposit hard-couples caller and payer roles, blocking OnRamp CPI integrationSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
MediumShared ResolverConfig PDA Allows Cross-Instance Route Hijacking and DeletionSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
MediumUSDCBridgeV2::_quoteBridge hardcodes msgValue=0 creating fee mismatch that bricks the USDC bridge when gas dropoff is configuredSecuritizeBridgeV2 Audit Report · Cyfrin · 30 Mar 2026Fixed

The report gives no description here.

Open the report
MediumPermissionless freeze setup is wired to the thaw extra-metas PDA instead of the freeze PDASecuritize Solana SPL ACL Audit Report · Cyfrin · 17 Mar 2026Fixed

The report gives no description here.

Open the report
MediumUnvalidated Payer in DS Token Issue CPI Allows Protocol or Registrar to Pay Creation FeesSolana On/Off Ramp Audit Report · Cyfrin · 19 Feb 2026Fixed

The report gives no description here.

Open the report
MediumUnconfigured CCTP domain mapping defaults to zero, potentially routing USDC to Ethereum instead of intended destinationBridge Wormhole Executor Audit Report · Cyfrin · 10 Feb 2026Fixed

The report gives no description here.

Open the report
MediumIncorrect use of investorExists modifier in PublicStockOnRamp::swapSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
MediumSecuritizeAmmNavProvider missing whenNotPaused modifier on important state-changing functionsSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
Show 10 more
MediumSecuritizeOnRamp::swap and SecuritizeOffRamp::redeem pass operator as investor address resulting in denial of serviceSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
MediumZero curvePriceWad from rounding causes incorrect pricing or denial of serviceSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
MediumComplianceServiceGlobalWhitelisted::newPreTransferCheck and preTransferCheck allow blacklisted users to transfer tokensGlobal Registry Audit Report · Cyfrin · 6 Nov 2025Fixed

The report gives no description here.

Open the report
MediumSame wallet can be added multiple times to an investor, artificially increasing their wallet count causing adding new wallets to revertGlobal Registry Audit Report · Cyfrin · 6 Nov 2025Fixed

The report gives no description here.

Open the report
MediumToken name update breaks EIP-712 Domain Separator for permit functionalityGlobal Registry Audit Report · Cyfrin · 6 Nov 2025Fixed

The report gives no description here.

Open the report
MediumChanging investor country to the same country inflates investor count erroneously triggering max investor errorsSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
MediumCountry updates is not reducing from the storage the prev countrySecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
MediumIncorrect EIP-712 TXTYPE_HASH in SecuritizeSwapSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
MediumInvestors transferring all their balances among their wallets or self-transferring on the same wallet causes to incorrectly decrement the investor counters causing DoS for other investors transfersSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
MediumNo way to revert setInvestorLiquidateOnlySecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
Show 10 more
MediumAllow message value to be more than the quote costFixed

The report gives no description here.

MediumAmbiguous owner terminology creates confusion in access control of SecuritizeVaultFixed

The report gives no description here.

MediumAsset Controller may be created by an unauthorized entityFixed

The report gives no description here.

MediumBridging DSToken back-and-forth between chains causes totalIssuance cap to be reached, preventing further issuances and cross-chain transfersFixed

The report gives no description here.

MediumDoS in initialize via pre-created ATA for off_ramp_authorityFixed

The report gives no description here.

MediumHard-coding 0 max fee with fast finality is incompatible as this combination commonly has minimum fees of 1Fixed

The report gives no description here.

MediumInconsistent token amount in external redemption process of Securitize- Vault’s liquidate functionFixed

The report gives no description here.

MediumLack of slippage protection in the SecuritizeVault’s liquidation functionFixed

The report gives no description here.

MediumMeta transactions will not work due to direct msg.sender usage in validateLockedTokensFixed

The report gives no description here.

MediumMissing validation of msg.value in the function SecuritizeSwap::executePreApprovedTransaction()Fixed

The report gives no description here.

Show 10 more
MediumNo storage gap for upgradeable contract might lead to storage slot collisionFixed

The report gives no description here.

MediumNo validation check of _investorWallet when buying dsToken.Fixed

The report gives no description here.

MediumPermanent Cap Lock due to totalIssued not reduced on burn leads to protocol stuck and no one can participateFixed

The report gives no description here.

MediumPermissionless OffRampState initialization under official program ID enables spoofed “official” instancesFixed

The report gives no description here.

MediumShared configuration parameters across different asset types in vault deployers leads to incorrect pricing and fee calculationsFixed

The report gives no description here.

MediumUninitialized CCTP domain mapping can send USDC to the incorrect blockchainFixed

The report gives no description here.

MediumUntracked Wallets from No-Compliance Issuance Can Break Investor Records Because checkWalletsForList Isn’t CalledFixed

The report gives no description here.

LowCache repeated access_control_authority_pda and mint_config_pda derivations to cut redundant hashing in the SPL register and thaw flowSecuritize SVM VaultRegistrar SPL ACL Audit · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
LowDead Error Variants and Documentation Inconsistency for Signature RequirementsSecuritize Solana Whitelister Audit Report · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
LowExplicitly reject Pubkey::default() for vault_wallet or the investor_walletSecuritize Solana Whitelister Audit Report · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
Show 10 more
LowFrozen investors can still pass the participation gate and register a new vaultSecuritize SVM VaultRegistrar SPL ACL Audit · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
LowInsufficient validation on vaultsSecuritize Solana Whitelister Audit Report · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
LowInvestor’s token balance is not checked prior to registrationSecuritize Solana Whitelister Audit Report · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
LowOperators can thaw a frozen vault ATA through register_vault_spl under extreme casesSecuritize SVM VaultRegistrar SPL ACL Audit · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
LowPermissionless Initialize and Counter Saturation Edge CaseSecuritize Solana Whitelister Audit Report · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
LowPermissionless initialize derives the registrar state and authority PDAs from a shared monotonic counter, letting any caller front-run and invalidate pre-signed setup transactionsSecuritize SVM VaultRegistrar SPL ACL Audit · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
LowRedundant Zero-Address Check in revoke_operatorSecuritize Solana Whitelister Audit Report · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
LowRegistrar admin can thaw vaults belonging to another registrarSecuritize SVM VaultRegistrar SPL ACL Audit · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
LowRevoking an SPL mint authority permanently prevents subsequent registrar initializationSecuritize SVM VaultRegistrar SPL ACL Audit · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
Lowset_require_investor_signature allows setting to current value, emitting misleading eventSecuritize Solana Whitelister Audit Report · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
Show 10 more
LowSPL investor token account is not explicitly restricted to Token-2022Securitize SVM VaultRegistrar SPL ACL Audit · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
Lowthaw_vault_token_account_spl unconditionally CPIs ACL thaw_account and reverts on an already-thawed vault token account, unlike the guarded register_vault_spl pathSecuritize SVM VaultRegistrar SPL ACL Audit · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
LowUnprivileged pre-funding of the registrar authority PDA can cause a retry-stable denial of SPL vault registrationSecuritize SVM VaultRegistrar SPL ACL Audit · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
LowVaultRegistered event omits investor signer when signature is requiredSecuritize Solana Whitelister Audit Report · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
LowVaultRegisteredDs can report a signer unrelated to the attached identitySecuritize SVM VaultRegistrar SPL ACL Audit · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
LowVaultRegistrarInitialized omits the initial require_investor_signature valueSecuritize SVM VaultRegistrar SPL ACL Audit · Cyfrin · 17 Sep 2026Fixed

The report gives no description here.

Open the report
LowCache identical storage reads in ComplianceServicePermissionless::_isGloballyDenylisted, _isLocallyBlacklistedSecuritize EVM GlobalDenyList Audit Report · Cyfrin · 11 Sep 2026Fixed

The report gives no description here.

Open the report
LowComplianceServicePermissionless::checkTransfer never screens the transferFrom spender, so denylisted address can direct transfers of other wallets’ tokens breaching OFAC FAQ400 complianceSecuritize EVM GlobalDenyList Audit Report · Cyfrin · 11 Sep 2026Fixed

The report gives no description here.

Open the report
LowDenylist mutators always return true, discarding the EnumerableSet resultSecuritize EVM GlobalDenyList Audit Report · Cyfrin · 11 Sep 2026Fixed

The report gives no description here.

Open the report
LowDeploy task implicit GlobalDenyListManager::initialize resolution can silently deploy an uninitialized proxySecuritize EVM GlobalDenyList Audit Report · Cyfrin · 11 Sep 2026Fixed

The report gives no description here.

Open the report
Show 10 more
Lowdeploy-all does not await GlobalDenyListManager::addOperator, changeAdmin receipts and reports success on unconfirmed transactionsSecuritize EVM GlobalDenyList Audit Report · Cyfrin · 11 Sep 2026Fixed

The report gives no description here.

Open the report
Lowdeploy-all treats a zero –global-denylist-manager-address as wired, logging success while leaving global denylist enforcement offSecuritize EVM GlobalDenyList Audit Report · Cyfrin · 11 Sep 2026Fixed

The report gives no description here.

Open the report
LowGlobal denylist can be wired into compliance types that never check itSecuritize EVM GlobalDenyList Audit Report · Cyfrin · 11 Sep 2026Fixed

The report gives no description here.

Open the report
LowGlobalDenyListManager::revokeOperator is bypassable via inherited AccessControlUpgradeable::revokeRole, renounceRole, which emit no OperatorRevokedSecuritize EVM GlobalDenyList Audit Report · Cyfrin · 11 Sep 2026Fixed

The report gives no description here.

Open the report
LowA single TimelockController::scheduleBatch containing updateDelay set to zero converts a delayed controller into an instant one for the cost of one delaySecuritize DSToken Timelocks Audit Report · Cyfrin · 7 Sep 2026Fixed

The report gives no description here.

Open the report
LowBulkOperator holds ROLE_ISSUER but is registered under no service id, so handover and verification cannot see it and its owner retains instant upgrade authoritySecuritize DSToken Timelocks Audit Report · Cyfrin · 7 Sep 2026Fixed

The report gives no description here.

Open the report
LowDSToken::_issueUncapped relies on validateIssuance, but its authorizedSecurities ceiling is measured against a multiplier-denominated totalSupply the issuance role controlsSecuritize DSToken Timelocks Audit Report · Cyfrin · 7 Sep 2026Fixed

The report gives no description here.

Open the report
LowDSToken::scheduleOverCapIssuance includes block.timestamp in the operation id, so one salt can schedule the same mint repeatedly in different blocksSecuritize DSToken Timelocks Audit Report · Cyfrin · 7 Sep 2026Fixed

The report gives no description here.

Open the report
LowDSToken::setOverCapDelay, setMintCap never validate overCapDelay and documented 48hr timelock delay useless vs 5hr overcap delaySecuritize DSToken Timelocks Audit Report · Cyfrin · 7 Sep 2026Fixed

The report gives no description here.

Open the report
LowGate DSToken::executeOverCapMint on the token pause to give the transfer agent an instant block on scheduled exceptional mintsSecuritize DSToken Timelocks Audit Report · Cyfrin · 7 Sep 2026Fixed

The report gives no description here.

Open the report
Show 10 more
LowIDSServiceConsumer::DEPRECATED_ISSUER_MULTICALL, DEPRE- CATED_TA_MULTICALL are both zero while the deployment utilities define them as 8194 and 8195, leaving two incompatible service-id registriesSecuritize DSToken Timelocks Audit Report · Cyfrin · 7 Sep 2026Fixed

The report gives no description here.

Open the report
LowMinting-control documentation is stale on window reset and silent on exceptional-mint operations and the tumbling-window boundarySecuritize DSToken Timelocks Audit Report · Cyfrin · 7 Sep 2026Fixed

The report gives no description here.

Open the report
LowSecuritizeRebasingProvider::setMultiplier is onlyIssuerOrAbove and unbounded, so the DSToken mint cap does not bound value creation by a compromised issuance keySecuritize DSToken Timelocks Audit Report · Cyfrin · 7 Sep 2026Fixed

The report gives no description here.

Open the report
Lowsetup-governance handover omits deprecated service ids so pre-handover key retains OwnableUpgradeable::owner upgrade authority over live ROLE_ISSUER and ROLE_TRANSFER_AGENT proxies and can burn, seizeSecuritize DSToken Timelocks Audit Report · Cyfrin · 7 Sep 2026Fixed

The report gives no description here.

Open the report
Lowsetup-governance surrenders ROLE_MASTER before confirming every ownership transfer succeeded, so a silently skipped owner mismatch leaves a live ROLE_ISSUER proxy outside the timelock and is detectedSecuritize DSToken Timelocks Audit Report · Cyfrin · 7 Sep 2026Fixed

The report gives no description here.

Open the report
Lowdeploy-full.ts can never execute mint stepSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
Lowdeploy-full.ts does not verify the target Tempo networkSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
Lowdeploy-full.ts permits overlapping operational role addressesSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
Lowdeploy-full.ts predicts the TIP-403 policy ID instead of reading the receiptSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
Lowdeploy-full.ts suppresses investor onboarding failuresSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
Show 10 more
Lowdeploy-full.ts uses the wrong TIP-20 renounceRole signatureSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
LowITip20TrustService misdocuments MASTER native permissionsSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
LowTip20RegistryService events do not expose effective wallet authorizationSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
LowTip20RegistryService storage-gap comment has the wrong slot countSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
LowTip20RegistryService::addPlatformWallet has an unreachable duplicate checkSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
LowTip20RegistryService::initialize does not reject a zero adminSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
LowTip20RegistryService::isAuthorized documentation does not match policy stateSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
LowTip20RegistryService::policyId can drift from the token transfer policySecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
LowTip20RegistryService::registerInvestorWithWallets can retain stale proof metadataSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
LowTip20RegistryService::registerInvestorWithWallets exceeds Tempo’s transaction gas capSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
Show 10 more
LowTip20RegistryService::registerInvestorWithWallets, isAuthorized mishandle Tempo virtual addressesSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
LowTip20RegistryService::setPolicyId accepts built-in TIP-403 policiesSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
LowTip20RegistryService::setServiceConsumer missing eventSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
LowTip20TrustService::_setRole emits abstract-role events after native callsSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
LowTip20TrustService::setServiceOwner can assign MASTER to an inert addressSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
LowTip20TrustService::setServiceOwner uses one-step ownership transferSecuritize Tempo TIP-20 Audit Report · Cyfrin · 28 Aug 2026Fixed

The report gives no description here.

Open the report
LowEmpty investor_id can be persisted in InvestorRegistry and propagated through the SPL bridgeSecuritize Bridge ACL Ext Audit Report · Cyfrin · 30 Jul 2026Fixed

The report gives no description here.

Open the report
LowInconsistent investor_id length limits across layers (64 vs 256) and an undocumented 32-byte PDA-seed constraint on the DS pathSecuritize Bridge ACL Ext Audit Report · Cyfrin · 30 Jul 2026Fixed

The report gives no description here.

Open the report
LowInvestorRegistry::load skips the Anchor discriminator check before Borsh-deserializing the whitelist account bodySecuritize Bridge ACL Ext Audit Report · Cyfrin · 30 Jul 2026Fixed

The report gives no description here.

Open the report
LowOutbound DS/SPL bridge handlers do not validate EVM recipient address formatSecuritize Bridge ACL Ext Audit Report · Cyfrin · 30 Jul 2026Fixed

The report gives no description here.

Open the report
Show 10 more
LowRedundant heap clone of the up-to-1024-byte VAA payload on every inbound bridge transactionSecuritize Bridge ACL Ext Audit Report · Cyfrin · 30 Jul 2026Fixed

The report gives no description here.

Open the report
Lowsecuritize_bridge inbound SPL resolver hardcodes the Token-2022 program for ATA derivation, breaking inbound delivery for a classic-SPL-Token mint configured as TokenConfig::SplSecuritize Bridge ACL Ext Audit Report · Cyfrin · 30 Jul 2026Fixed

The report gives no description here.

Open the report
Lowsecuritize_bridge::initialize applies no validation to the SPL acl_program_id, permanently bricking an instance from a zero or garbage valueSecuritize Bridge ACL Ext Audit Report · Cyfrin · 30 Jul 2026Fixed

The report gives no description here.

Open the report
Lowsend_usdc_cross_chain_deposit unconditionally reimburses the executor fee from the protocol config PDA with an unconstrained payer and executor_payeeSecuritize Bridge ACL Ext Audit Report · Cyfrin · 30 Jul 2026Fixed

The report gives no description here.

Open the report
Lowtracker_account binding is not validated upfront in bridge_ds_tokensSecuritize Bridge ACL Ext Audit Report · Cyfrin · 30 Jul 2026Fixed

The report gives no description here.

Open the report
LowMatchHandler::addOperator, removeOperator call the public grant- Role, revokeRole instead of the internal _grantRole, _revokeRoleSecuritize MatchHandler Audit Report · Cyfrin · 11 Jun 2026Fixed

The report gives no description here.

Open the report
LowMatchHandler::matchOrder allows same seller and buyerSecuritize MatchHandler Audit Report · Cyfrin · 11 Jun 2026Fixed

The report gives no description here.

Open the report
LowMatchHandler::matchOrder has no replay protection, allowing duplicate settlementSecuritize MatchHandler Audit Report · Cyfrin · 11 Jun 2026Fixed

The report gives no description here.

Open the report
LowRedundant custodialWallet storage read on the matchOrder settlement pathSecuritize MatchHandler Audit Report · Cyfrin · 11 Jun 2026Fixed

The report gives no description here.

Open the report
LowSupplied MatchHandler deployment flow does not establish required registry authorizationSecuritize MatchHandler Audit Report · Cyfrin · 11 Jun 2026Fixed

The report gives no description here.

Open the report
Show 10 more
LowRemove unused import BaseDSContract from SecuritizeBridge.solSecuritize ZKsync Exit Bridge Audit Report · Cyfrin · 10 Jun 2026Fixed

The report gives no description here.

Open the report
LowRemove ZKSyncSecuritizeBridge::withdrawETH and in bridgeDSTokens revert when msg.value > 0Securitize ZKsync Exit Bridge Audit Report · Cyfrin · 10 Jun 2026Fixed

The report gives no description here.

Open the report
LowZKSyncSecuritizeBridge::bridgeDSTokens hard-binds the Ethereum mint destination to msg.sender with no escape hatch for ZKSync smart-contract walletsSecuritize ZKsync Exit Bridge Audit Report · Cyfrin · 10 Jun 2026Fixed

The report gives no description here.

Open the report
Lowcalculate_jump_price requires mint decimals <= 18 but initialize and update_jump_pool_config never validate the boundSecuritize Jump Router Audit Report · Cyfrin · 9 Jun 2026Fixed

The report gives no description here.

Open the report
Lowcalculate_jump_price returns a liquidity-over-asset ratio while three unit tests assert the inverseSecuritize Jump Router Audit Report · Cyfrin · 9 Jun 2026Fixed

The report gives no description here.

Open the report
LowFee collector default pubkey Is not rejected while InitializationSecuritize Jump Router Audit Report · Cyfrin · 9 Jun 2026Fixed

The report gives no description here.

Open the report
LowJumpRouterCounter uses init_if_needed with a fixed singleton seedSecuritize Jump Router Audit Report · Cyfrin · 9 Jun 2026Fixed

The report gives no description here.

Open the report
LowMbpsFeeManager doc comments mislabel milli-basis-points as basis pointsSecuritize Jump Router Audit Report · Cyfrin · 9 Jun 2026Fixed

The report gives no description here.

Open the report
LowMbpsFeeManager::validate performs no external fee collector zero-address rejection required by the design specificationSecuritize Jump Router Audit Report · Cyfrin · 9 Jun 2026Fixed

The report gives no description here.

Open the report
LowRedemptionCompleted emits gross liquidity output rather than the user’s net received amountSecuritize Jump Router Audit Report · Cyfrin · 9 Jun 2026Fixed

The report gives no description here.

Open the report
Show 10 more
LowRounding bias in calculate_jump_price() skews max_positive_slippage_mbps enforcement across swap directionsSecuritize Jump Router Audit Report · Cyfrin · 9 Jun 2026Fixed

The report gives no description here.

Open the report
LowSource filename mpbs_fee_manager.rs has transposed lettersSecuritize Jump Router Audit Report · Cyfrin · 9 Jun 2026Fixed

The report gives no description here.

Open the report
LowStandard execute_swap accepts an empty regulatory external_idSecuritize Jump Router Audit Report · Cyfrin · 9 Jun 2026Fixed

The report gives no description here.

Open the report
LowUpdateJumpPoolConfig::update_jump_pool_config repoints mints but does not reset min_asset_amount_in, min_liquidity_amount_inSecuritize Jump Router Audit Report · Cyfrin · 9 Jun 2026Fixed

The report gives no description here.

Open the report
LowWalletManager::setSpecialWallet guard is inert under the stub registry, letting an Issuer label any token-holding wallet as a platform wallet and bypass an active lockupSecuritize DSToken Compliance Diff Audit Report · Cyfrin · 4 Jun 2026Fixed

The report gives no description here.

Open the report
LowgetWhitelistIxs is not checking the ownership of the tokenAccounts passed with tx ownerSecuritize Whitelist ACL Support Audit Report · Cyfrin · 2 Jun 2026Fixed

The report gives no description here.

Open the report
LowComplianceServiceLibrary::completeTransferCheck total investors cap-skip false for platform-wallet sendersSecuritize Full Investor Locks Audit Report · Cyfrin · 29 May 2026Fixed

The report gives no description here.

Open the report
LowComplianceServiceRegulated::preIssuanceCheck missing platform-wallet short-circuit spuriously rejects treasury fundingSecuritize Full Investor Locks Audit Report · Cyfrin · 29 May 2026Fixed

The report gives no description here.

Open the report
LowComplianceServiceRegulated::recordIssuance to a platform wallet pollutes a shared issuancesCounters[""] bucketSecuritize Full Investor Locks Audit Report · Cyfrin · 29 May 2026Fixed

The report gives no description here.

Open the report
LowBridge initializes Wormhole outbound messages with Confirmed finality by default, weakening reorg safetySecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
Show 10 more
LowConcurrent or pipelined resolves last-write-winsSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowCountry source inconsistency between lock validation and cross-chain payload in bridge_ds_tokensSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowDead Code Where country_string_to_u8 and CctpDomainNotConfigured Are Not UsedSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowDS bridge initialize accepts zero-value parameters that update instructions rejectSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowEmitter rotation can strand old VAAs and collide with new-emitter sequence numbersSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowExecutor quotes must use the same gas limit as on-chain executor_gas_limitSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
Lowformat! used where .to_string() suffices for country conversionSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowGasLimitUpdate event in DS bridge uses u128 fields unnecessarilySecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowGlobal resolver result PDA can be closed by any BridgeConfig ownerSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowInbound execute_vaa_v1 does not validate posted VAA finalitySecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
Show 10 more
LowInstruction Handlers Use find_program_address Where Cheaper Derivation Is AvailableSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowMagic numbers in securitize_usdc_bridge::initialize for default config valuesSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowMissing events for initialize instructions in both programsSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowMissing zero-value validation for gas_limit parameter in both bridgesSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowNo ownership transfer mechanism for bridge config in either programSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowOutbound Payload Encoding Uses panic! Instead of Anchor Error CodesSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowPartialPolicyEngine::deserialize_checked version auto-detection heuristic can misidentify account layout, corrupting lock period dataSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowPauseStatusChanged is not mint-self-describing for off-chain consumersSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowPermissionless initialize combined with no ownership transfer and zero-value acceptance enables permanent bridge hijackingSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
Lowposted.payload.clone() copies entire VAA payload unnecessarily in execute_vaa_v1Securitize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
Show 10 more
Lowread_current_sequence uses ANCHOR_DISCRIMINATOR_LEN for raw Wormhole u64 dataSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowRedundant immutable borrow in set_bridge_address and set_emitter_addressSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowResolver Re-derives PDAs Already Computed by Caller, Wasting ~4,500+ CU per ResolutionSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowResolverConfig PDA uses big-endian chain seed while other chain-seeded PDAs use little-endianSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
Lowset_cctp_domain uses bump value of 0 as sentinel for new account detectionSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowStale ResolverConfig PDA persists when emitter address is updated in-placeSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowUsdcBridgeConfig::max_executor_fee defaults to zero, disabling the executor fee capSecuritize Solana Bridge Audit Report · Cyfrin · 30 Apr 2026Fixed

The report gives no description here.

Open the report
LowInvestor Cannot Revoke Standing Permission for a Removed OperatorSecuritize VaultRegistrarV2 Audit Report · Cyfrin · 30 Mar 2026Fixed

The report gives no description here.

Open the report
LowPermanent loss of DSTokens when bridging to non-EVM chains via the backward-compatible SecuritizeBridge::bridgeDSTokens due to missing target chain type validationSecuritizeBridgeV2 Audit Report · Cyfrin · 30 Mar 2026Fixed

The report gives no description here.

Open the report
LowVaultRegistrar::isRegistered reverts instead of returning false when vault belongs to a different investorSecuritize VaultRegistrarV2 Audit Report · Cyfrin · 30 Mar 2026Fixed

The report gives no description here.

Open the report
Show 10 more
LowVaultRegistrar::registerVault uses >= for deadline check instead of >, deviating from EIP-2612 convention and design specSecuritize VaultRegistrarV2 Audit Report · Cyfrin · 30 Mar 2026Fixed

The report gives no description here.

Open the report
LowIncorrect Documentation Comment for create_config_handlerSecuritize Solana SPL ACL Audit Report · Cyfrin · 17 Mar 2026Fixed

The report gives no description here.

Open the report
Lownew_freeze_authority Omitted from DeleteConfig EventSecuritize Solana SPL ACL Audit Report · Cyfrin · 17 Mar 2026Fixed

The report gives no description here.

Open the report
LowRedundant executable check for token ACL program after address validationSecuritize Solana SPL ACL Audit Report · Cyfrin · 17 Mar 2026Fixed

The report gives no description here.

Open the report
Lowsetup_extra_metas forwards PDA signer authority to an unvalidated gating_program in an admin-only pathSecuritize Solana SPL ACL Audit Report · Cyfrin · 17 Mar 2026Fixed

The report gives no description here.

Open the report
LowSeveral error variants are defined but currently unusedSecuritize Solana SPL ACL Audit Report · Cyfrin · 17 Mar 2026Fixed

The report gives no description here.

Open the report
Lowthaw_permissionless and freeze_permissionless Can Be Bypassed by Direct token_acl InvocationSecuritize Solana SPL ACL Audit Report · Cyfrin · 17 Mar 2026Fixed

The report gives no description here.

Open the report
Lowtoken_account is missing a local mint == mint.key() constraint in authority flowsSecuritize Solana SPL ACL Audit Report · Cyfrin · 17 Mar 2026Fixed

The report gives no description here.

Open the report
LowUnnecessary mut constraint on mint in read-only ops delays genuine operations that require mint to be mutableSecuritize Solana SPL ACL Audit Report · Cyfrin · 17 Mar 2026Fixed

The report gives no description here.

Open the report
LowAllowance Liquidity Provider Uses delegated_amount Without Capping by Actual BalanceSolana On/Off Ramp Audit Report · Cyfrin · 19 Feb 2026Fixed

The report gives no description here.

Open the report
Show 10 more
LowDS Token Subscription Can Proceed Without Wallet Identity Verification When Registration Accounts Are OmittedSolana On/Off Ramp Audit Report · Cyfrin · 19 Feb 2026Fixed

The report gives no description here.

Open the report
LowInadequate validations on collector-token-account.Solana On/Off Ramp Audit Report · Cyfrin · 19 Feb 2026Fixed

The report gives no description here.

Open the report
LowIncompatible NavProviders can be set, which could fail swaps temporarilySolana On/Off Ramp Audit Report · Cyfrin · 19 Feb 2026Fixed

The report gives no description here.

Open the report
LowIncomplete Rate CPI Context and Understated Minimum NAV Provider AccountsSolana On/Off Ramp Audit Report · Cyfrin · 19 Feb 2026Fixed

The report gives no description here.

Open the report
LowInitialization Allows Omitted asset_vault Although Swaps Require ItSolana On/Off Ramp Audit Report · Cyfrin · 19 Feb 2026Fixed

The report gives no description here.

Open the report
LowMissing Executable Check for NAV Provider in update_nav_providerSolana On/Off Ramp Audit Report · Cyfrin · 19 Feb 2026Fixed

The report gives no description here.

Open the report
LowOff-Ramp update_fee_manager Does Not Validate liquidity_mintSolana On/Off Ramp Audit Report · Cyfrin · 19 Feb 2026Fixed

The report gives no description here.

Open the report
LowOn-Ramp initialize Should Reject Zero Genesis HashSolana On/Off Ramp Audit Report · Cyfrin · 19 Feb 2026Fixed

The report gives no description here.

Open the report
LowRedundant [instruction(asset_provider)] Attribute in On-Ramp UpdateAssetProviderSolana On/Off Ramp Audit Report · Cyfrin · 19 Feb 2026Fixed

The report gives no description here.

Open the report
LowBaseWhitelister::addOperator, removeOperator should use _grantRole and _revokeRole directly and only emit events when they return trueSecuritize EVM Whitelister Audit Report · Cyfrin · 11 Feb 2026Fixed

The report gives no description here.

Open the report
Show 10 more
LowImplement recommended changes to proposed vault whitelister standardSecuritize EVM Whitelister Audit Report · Cyfrin · 11 Feb 2026Fixed

The report gives no description here.

Open the report
LowIncorrect pragma as support for defining operators on user-defined value types was added in Solidity 0.8.19Securitize EVM Whitelister Audit Report · Cyfrin · 11 Feb 2026Fixed

The report gives no description here.

Open the report
LowPermissionFlags::and function will encode the permission for SWAP_AL- LOWED AND LIQUIDITY_ALLOWED as if the account would have NONE permissionsSecuritize EVM Whitelister Audit Report · Cyfrin · 11 Feb 2026Fixed

The report gives no description here.

Open the report
LowPermissionFlags::hasFlag can’t be used to check for Permission- Flag::NONESecuritize EVM Whitelister Audit Report · Cyfrin · 11 Feb 2026Fixed

The report gives no description here.

Open the report
LowPermissionFlags::hasFlag inconsistent validation for combined flagsSecuritize EVM Whitelister Audit Report · Cyfrin · 11 Feb 2026Fixed

The report gives no description here.

Open the report
LowPermissionFlags::hasFlag incorrectly grants ALL_PERMISSIONS to PermissionFlag::LIQUIDITY_ALLOWED and PermissionFlag::SWAP_ALLOWEDSecuritize EVM Whitelister Audit Report · Cyfrin · 11 Feb 2026Fixed

The report gives no description here.

Open the report
LowIncorrect use of msgSender()insteadof address(this)onquoterequestBridge Wormhole Executor Audit Report · Cyfrin · 10 Feb 2026Fixed

The report gives no description here.

Open the report
LowMissing nonReentrant modifier on function executeVAAv1Bridge Wormhole Executor Audit Report · Cyfrin · 10 Feb 2026Fixed

The report gives no description here.

Open the report
LowUSDCBridgeV2::quoteBridge returns inflated cost estimate by including wormhole core fee that Is never paid in CCTP v2 flowBridge Wormhole Executor Audit Report · Cyfrin · 10 Feb 2026Fixed

The report gives no description here.

Open the report
LowUse SafeERC20 approval instead of standard IERC20 approve functionBridge Wormhole Executor Audit Report · Cyfrin · 10 Feb 2026Fixed

The report gives no description here.

Open the report
Show 10 more
LowBetter storage packing by changing declaration orderSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowCache storage to prevent identical storage readsSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowEmit events first to refactor away local variables storing previous valuesSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowIn Solidity don’t initialize to default valuesSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowIncorrect rounding direction in SecuritizeAmm- NavProvider::executeBuyBase when scaling down execPriceSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowLack of Price Feed Update Function in RedStoneNavProviderSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowMissing liquidityToken validation in CollateralLiquidityProvider::initializeSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowMissing zero output validation in SecuritizeAmmNavProvider quote and buy functionsSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowRedStoneNavProvider::rate can return zero for non-zero oracle input due to rounding in Helper::normalizeRateSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowRedStoneNavProvider::rate will return massively inflated value if underlying oracle returns a negative value and lacks common oracle validationsSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
Show 10 more
LowRedundant Access Control Check in SecuritizeInternal- NavProvider::addRateUpdater, removeRateUpdaterSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowRefactor away unnecessary local variables in SecuritizeAmm- NavProvider::_curveBuy, _curveSellSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowSecuritizeAmmNavProvider quote functions don’t reflect execution behavior due to missing baseline reset logicSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowSecuritizeAmmNavProvider trades when pool price and anchor price differ can leak valueSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowSecuritizeAmmNavProvider violates core AMM invariant that k should never decreaseSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowSecuritizeAmmNavProvider virtual reserve rounding erosion can lead to denial of serviceSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowSignatures used in PublicStockOnRamp and PublicStockOffRamp lack investor-specified deadline and nonce parameters so can be used multiple times by operatorsSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowUpgradeable contracts which are inherited from should use ERC7201 namespaced storage layouts or storage gaps to prevent storage collisionSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowUse named mapping parameters to explicitly denote the purpose of keys and valuesSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowUse named return variables where this can refactor away local variablesSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
Show 10 more
LowUse SafeERC20 approval and transfer functions instead of standard IERC20 functions for liquidityTokenSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowWhen emitting events don’t read known values from storageSecuritize Public Stock On/Off Ramp Audit Report · Cyfrin · 24 Dec 2025Fixed

The report gives no description here.

Open the report
LowUnnecessary use of emit_cpi! increases CU costSolana DSToken Whitelist Audit Report · Cyfrin · 7 Nov 2025Fixed

The report gives no description here.

Open the report
LowComplianceServiceGlobalWhitelisted::getComplianceTransferableTokens returns positive token amount for blacklisted usersGlobal Registry Audit Report · Cyfrin · 6 Nov 2025Fixed

The report gives no description here.

Open the report
LowCross-chain incompatibility with block.number based timeout mechanismGlobal Registry Audit Report · Cyfrin · 6 Nov 2025Fixed

The report gives no description here.

Open the report
LowDon’t emit misleading events when roles haven’t been added or revokedGlobal Registry Audit Report · Cyfrin · 6 Nov 2025Fixed

The report gives no description here.

Open the report
LowDon’t initialize to default valuesGlobal Registry Audit Report · Cyfrin · 6 Nov 2025Fixed

The report gives no description here.

Open the report
LowMissing signature deadline for GlobalRegistryService::executePreApprovedTransactionGlobal Registry Audit Report · Cyfrin · 6 Nov 2025Fixed

The report gives no description here.

Open the report
LowRemove redundant calls to EnumerableSet::containsGlobal Registry Audit Report · Cyfrin · 6 Nov 2025Fixed

The report gives no description here.

Open the report
LowRemove unused ExecutePreApprovedTransaction::nonceGlobal Registry Audit Report · Cyfrin · 6 Nov 2025Fixed

The report gives no description here.

Open the report
Show 10 more
LowStandardToken::transferWithPermit can be DoS attacked by front-running to directly call ERC20PermitMixin::permitGlobal Registry Audit Report · Cyfrin · 6 Nov 2025Fixed

The report gives no description here.

Open the report
LowUse event indexing for faster off-chain parameter lookupGlobal Registry Audit Report · Cyfrin · 6 Nov 2025Fixed

The report gives no description here.

Open the report
LowAsymmetry enforcement between TokenIssuer::registerInvestor, WalletRegistrar::registerWallet and SecuritizeSwap::_registerNewInvestorSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowBurn and seize functions can be DoS when investor has several wallets that they controlSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowCheaper not to cache calldata array lengthSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowComplianceServiceRegulated and its parent ComplianceService- Whitelisted uses a chain of initializer modifiers when calling the initializeSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowComplianceServiceRegulated::getComplianceTransferableTokens should call IDSLockManager::getTransferableTokensForInvestorSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowComplianceServiceRegulated::preIssuanceCheck allows issuance to non-accredited investors when forceAccredited or forceAccreditedUS is set, and allows issuance below regional minimum thresholds, violatSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowConsider reverting in RebasingLibrary functions if rounding down to zero occursSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowDon’t perform storage reads unless necessarySecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
Show 10 more
LowDon’t write to the same storage slot multiple timesSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowEmit missing eventsSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowFast fail without performing unnecessary storage reads or external callsSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowInvestor can prevent themselves from being removed by making removeInvestor revertSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowMalicious investor can register wallets that belong to other investorsSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowMissing checkWalletsForList in issueTokensWithNoComplianceSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowMore efficient way of checking for empty string in CommonUtils::isEmptyStringSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowMulticallProxy::_callTarget doesn’t check if target has codeSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowMultiplication could overflow in RebasingLibrary for tokens with greater than 18 decimalsSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowNo deadline for user signaturesSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
Show 10 more
LowNot possible to rehash DOMAIN_SEPARATOR in MultiSigWallet to update chainId if is ever requiredSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowNot possible to send native via the TransactionRelayer to the target contract when executing executeByInvestorWithBlockLimitSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowPlatform Wallet not exception for Maximum Holdings Per Investor LimitsSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowPrefer ECDSA::tryRecover to using ecrecover directlySecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowPrefer explicit unsigned integer sizesSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowProtocol classifies retail investors based solely on whether they are qualified investors, without checking if they are accredited investorsSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowProtocol will leak value to users due to rounding in SecuritizeSwap::buySecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowRefactor away duplicated code between ComplianceService::newPreTransferCheck and preTransferCheckSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowRegistryService::addWallet should revert if the wallet being added has positive balance of DSTokenSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowRemove obsolete return statements when already using named return variablesSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
Show 10 more
LowRemove return value from DSToken::updateInvestorBalance as it is never checkedSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowRemove setting deprecated lastUpdatedBy in RegistryServiceSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowRemove useless function ComplianceServiceRegulated::adjustTransferCountsSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowResolve inconsistency between DSToken::checkWalletsForList and RegistryService::removeWalletSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowReturn fast in ComplianceServiceRegulated::checkHoldUp if platform walletSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowSecuritizeSwap::buy should revert if stableCoinAmount is zeroSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowSecuritizeSwap::executeStableCoinTransfer should use SafeERC20 approval and transfer functions instead of standard IERC20 functionsSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowTransactionRelayer and SecuritizeSwap should use CommonUtils::encodeStringSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowTransferring all the investor balance from a non-us investor to a new us investor allows to bypass the usInvestorLimitSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowTrustService::changeEntityOwner can overwrite existing _newOwner record, breaking 1-1 relationship between owners and addressesSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
Show 10 more
LowTrustService::removeRole doesn’t delete already owned entities so address which lost role can still manage existing entitiesSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowUpgradeable contracts should call _disableInitializers in constructorSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowUse calldata for read-only external inputsSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowUse named importsSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowUse named mapping parameters to explicitly note the purpose of keys and valuesSecuritize DSToken Rebasing Audit Report · Cyfrin · 10 Oct 2025Fixed

The report gives no description here.

Open the report
LowAdd a validation to check the message sender and the token valueFixed

The report gives no description here.

LowAvoid emitting unnecessary eventsFixed

The report gives no description here.

LowBad practice to have multiple initializersFixed

The report gives no description here.

LowCode duplication in function overrides that only add modifiersFixed

The report gives no description here.

LowDelegation implementation may lead to inconsistenciesFixed

The report gives no description here.

Show 10 more
LowDon’t use transfer to send ETHFixed

The report gives no description here.

LowEmit missing events on important parameter changesFixed

The report gives no description here.

LowFail fast without doing unnecessary workFixed

The report gives no description here.

LowFee collector field ambiguity wallet vs token accountFixed

The report gives no description here.

LowFollow function declaration solidity style guide in BaseContractFixed

The report gives no description here.

LowIncomplete mapping updates in setVault function cause vault address inconsistenciesFixed

The report gives no description here.

LowInconsistency between function name and documentation in getUnderlyingAssetFixed

The report gives no description here.

LowInconsistent use of override keywordFixed

The report gives no description here.

LowIncorrect allowance check in transfer functions prevents users from transferring their own tokensFixed

The report gives no description here.

LowIncorrect function documentationFixed

The report gives no description here.

Show 10 more
LowIncorrect Loop Variable Type in _registerNewInvestorFixed

The report gives no description here.

LowIncorrect Maximum Holdings Check Prevents Valid TransfersFixed

The report gives no description here.

LowIncorrect reallocation wastes resources and increases account rentFixed

The report gives no description here.

LowIncorrect revert reason parsing in MulticallProxy obscures custom errorsFixed

The report gives no description here.

LowIncorrect Splitting of remaining_accounts Causes Misrouting Between NAV and Redemption AccountsFixed

The report gives no description here.

LowIncorrect/misleading commentsFixed

The report gives no description here.

LowIncorrect/misleading comments (2) - SecuritizeVaultFixed

The report gives no description here.

LowInefficient use of dynamic array for fixed-length parametersFixed

The report gives no description here.

LowInsufficient storage gap in BaseSecuritizeSwap contractFixed

The report gives no description here.

LowInvalid Zero Rate Not Rejected During DepositFixed

The report gives no description here.

Show 10 more
LowLack of checked arithmetical operation enforcementFixed

The report gives no description here.

LowLack of mut on liquidation_token_mint restricts redemption flexibilityFixed

The report gives no description here.

LowLack of validation in token revocation can lead to data inconsistenciesFixed

The report gives no description here.

LowLack of verification of the new delegate of the identity registryFixed

The report gives no description here.

LowLiquidate Event Emits Shares and Assets in Wrong OrderFixed

The report gives no description here.

LowMake the gas limit configurableFixed

The report gives no description here.

LowMissing input validation in CollateralLiquidityProvider::setExternalCollateralRedemptionFixed

The report gives no description here.

LowMissing input validation in issueTokensWithNoCompliance functionFixed

The report gives no description here.

LowMissing input validation in privileged functionsFixed

The report gives no description here.

LowMissing Liquidity Vault Balance ValidationFixed

The report gives no description here.

Show 10 more
LowMissing notEmptyURI modifier during initializationFixed

The report gives no description here.

LowMissing PausableUpgradable initialization in SecuritizeSwap contract initializationFixed

The report gives no description here.

LowMissing slippage control for investors during the buyFixed

The report gives no description here.

LowMissing storage gap in upgradeable parent contract causes storage slot collision riskFixed

The report gives no description here.

LowMissing zero address validation in initialize functionFixed

The report gives no description here.

LowMissing zero check for the result of ecrecover()Fixed

The report gives no description here.

LowNaming improvementsFixed

The report gives no description here.

LowNo way to retrieve ETH sent with call to Securitize- Bridge::receiveWormholeMessagesFixed

The report gives no description here.

LowOff-By-One Error in Liquidator and Operator Capacity CheckFixed

The report gives no description here.

LowPossibility to add counters with duplicate IDs may lead to inconsistenciesFixed

The report gives no description here.

Show 10 more
LowPossibility to remove incorrect countersFixed

The report gives no description here.

LowPotential permanent tokens locked due to missing tracker total amount validationFixed

The report gives no description here.

LowPotential replay attacks due to static DOMAINS EP ARAT ORFixed

The report gives no description here.

LowPrecision loss in the SecuritizeSwap.calculateDsTokenAmount() function.Fixed

The report gives no description here.

LowProgram may panic due to index out of boundsFixed

The report gives no description here.

LowRedundant balance check in safeTransferFrom before calling underlying transfer functionFixed

The report gives no description here.

LowRedundant vault_authority_signer passed to BurnChecked in redeem and liquidateFixed

The report gives no description here.

LowRefactor SecuritizeBridge::bridgeDSTokens and quoteBridge to use internal function saves 2 storage reads per bridging transactionFixed

The report gives no description here.

LowRefactor SecuritizeBridge::validateLockedTokens to take dsServiceConsumer as input parameterFixed

The report gives no description here.

LowRemove unused function USDCBridgeV2::_redeemUSDCFixed

The report gives no description here.

Show 10 more
LowRemove unused importsFixed

The report gives no description here.

LowResidual accounts left after mint closureFixed

The report gives no description here.

LowsetApprovalForAll() function is double initialized in the child contractFixed

The report gives no description here.

LowSilent truncation on u128 to u64 cast in liquidity token amount calculatorFixed

The report gives no description here.

LowSome comments are misleadingFixed

The report gives no description here.

LowSome function names are misleadingFixed

The report gives no description here.

LowStrict Comparison in Slippage Check Incorrectly Blocks Valid RedemptionsFixed

The report gives no description here.

LowSuperfluos requested accountsFixed

The report gives no description here.

LowThe SecuritizeRedemption.updateLiquidityProvider function emits the wrong information.Fixed

The report gives no description here.

LowUnnecessary _msgSender() call in _resolveVaultId when caller parameter is availableFixed

The report gives no description here.

Show 10 more
LowUnnecessary gas consumption in deposit function due to redundant maximum deposit checkFixed

The report gives no description here.

LowUnnecessary modifierFixed

The report gives no description here.

LowUnsafe Addition in convert_to_shares Causes View Function InaccuracyFixed

The report gives no description here.

LowUnsafe ERC20 operations can cause unexpected failures with non-standard tokensFixed

The report gives no description here.

LowUnsafe ERC20 Operations should not be usedFixed

The report gives no description here.

LowUnsafe ERC20 transferFrom and approve usage in executeStableCoinTransferFixed

The report gives no description here.

LowUnused state variable in BaseSecuritizeSwap contractFixed

The report gives no description here.

LowUpgradeable contract initializer not disabled in constructor allows implementation contract initializationFixed

The report gives no description here.

LowUpgradeable contracts should call _disableInitializers in constructorFixed

The report gives no description here.

LowUse addressNotZero modifier on USDCBridgeV2::setBridgeAddressFixed

The report gives no description here.

Show 5 more
LowUse named importsFixed

The report gives no description here.

LowUse named mapping parameters to make explicit the purpose of keys and valuesFixed

The report gives no description here.

LowUse SafeERC20 approval and transfer functions instead of standard IERC20 functionsFixed

The report gives no description here.

LowUse targetAddress instead of bridgeAddresses[targetChain] for check in SecuritizeBridge::bridgeDSTokensFixed

The report gives no description here.

LowWrong/misleading commentsFixed

The report gives no description here.

Contracts

No deployed address is recorded for these audits.

The reports name a repository or files. Open a report to see its scope.

Show this on your site

Is this your project? Show this record on your own website. The label states what the record holds, links to this page and updates by itself. It is free and needs no sign-in.

Content

Facts

Automatic: the three strongest facts of this project’s own record (its last audit and two more), highlighted. They update with the record. Picking a fact turns Automatic off.

Fixed as
Language

Style

Layout
Theme
Accent
Corners

Format

Size
Date
Embed as
HTML
<head>
<script src="https://widget.trustblock.run/project-widget.min.js" defer></script>
</head>
<body>
<div
data-tb-project-widget
data-tb-project-slug="securitize"
></div>
</body>

Paste the code where the label should appear. It uses no API credit and updates by itself.

Something wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.

Tell us