OMG Network security record

Ethereumomg.network

As of 3 Nov 2026, OMG Network has 2 audit reports by 2 security firms on Trustblock; the latest is by Consensys, dated 1 Jan 2020. Those reports list no open critical findings.

Critical findings
No open critical findings
Across the 2 reports, 1 critical finding was reported. It 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, findings and contracts up to Nov 2026, and incidents up to Oct 2026. Trustblock does not review code.

Audits2

Newest first

AuditSecurity firmDateScopeCritical findingsReport
OmiseGo MoreVPSecurity firm: ConsensysDate: Scope: Not recorded (see the report)1 critical finding, fixedOpen · diligence.security
Omisego Plasma MVPSecurity firm: QuantstampDate: Scope: Files named in the reportNo open critical findingsOpen · certificate.quantstamp.com

Findings33

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

SeverityOpenAcknowledgedFixed
Critical001
High103
Medium102
Low1708
CriticalMerkle.checkMembership allows existence proofs for the same leaf in multiple locations in the treeOmiseGo MoreVP · Consensys · 1 Jan 2020Fixed

The report gives no description here.

Open the report
HighImproper initialization of spending condition abstraction allows “v2 transactions” to exit using PaymentExitGameOmiseGo MoreVP · Consensys · 1 Jan 2020Fixed

The report gives no description here.

Open the report
HighRLPReader - Leading zeroes allow multiple valid encodings and exit / output ids for the same transactionOmiseGo MoreVP · Consensys · 1 Jan 2020Fixed

The report gives no description here.

Open the report
HighDeposit Block Can Be Written Past CHILD_BLOCK_INTERVALOmisego Plasma MVP · Quantstamp · 22 Oct 2018Fixed

The contract RootChain.sol uses the constant CHILD_BLOCK_INTERVAL to distinguish between child chain and deposit blocks. It protects against reorgs, i.e., block and transaction order changing on the root chain. Reorgs can lead to spurious invalidity of the child chain. The check in line 161, however, can be bypassed and, consequently, the invariant that deposit blocks should never appear in child block indices and vice-versa can be violated. We note that the issue may be exploited by a malicious token contract which can be added by any user. Exploit Scenario: 1. Add malicious token contract to RootChain.sol via the function addToken(). 2. depositFrom() calls transferFrom() (line 164). 3. transferFrom() of a malicious token calls deposit() multiple times till currentDepositBlock == CHILD_BLOCK_INTERVAL - 1. 4. transferFrom() returns true allowing writeDepositBlock() to increment currentDepositBlock beyond CHILD_BLOCK_INTERVAL. 5. This allows a malicious token to enable transfers without a real deposit as the deposit block will be overwritten by the next submitted plasma block.

Open the report
MediumMaintainer can bypass exit game quarantine by registering not-yet-deployed contractsOmiseGo MoreVP · Consensys · 1 Jan 2020Fixed

The report gives no description here.

Open the report
MediumMerkle - The implementation does not enforce inclusion of leaf nodes.OmiseGo MoreVP · Consensys · 1 Jan 2020Fixed

The report gives no description here.

Open the report
LowBlockController - maintainer should be the only entity to set new authorityOmiseGo MoreVP · Consensys · 1 Jan 2020Fixed

The report gives no description here.

Open the report
LowECDSA error value is not handledOmiseGo MoreVP · Consensys · 1 Jan 2020Fixed

The report gives no description here.

Open the report
LowEthVault - Unused state variableOmiseGo MoreVP · Consensys · 1 Jan 2020Fixed

The report gives no description here.

Open the report
LowNo existence checks on framework block and timestamp readsOmiseGo MoreVP · Consensys · 1 Jan 2020Fixed

The report gives no description here.

Open the report
Show 4 more
LowRecommendation: remove IsDeposit and add a similar getter to BlockControllerOmiseGo MoreVP · Consensys · 1 Jan 2020Fixed

The report gives no description here.

Open the report
LowRecommendation: Remove optional arguments and clean unused codeOmiseGo MoreVP · Consensys · 1 Jan 2020Fixed

The report gives no description here.

Open the report
LowAnybody May Initiate Deposit on Behalf of the OwnerOmisego Plasma MVP · Quantstamp · 22 Oct 2018Fixed

The function depositFrom() takes owner as parameter instead of relying on msg.sender. Consequently, once an allowance is approved, anybody may initiate a deposit on behalf of the owner at any time, even against the actual owner's will.

Open the report
LowSupplement the code with Trufe projectOmisego Plasma MVP · Quantstamp · 22 Oct 2018Fixed

Trufe is a prominent tool used for organizing Solidity code projects. It helps to manage dependencies, run tests, and process the code with other tools.

Open the report

Contracts

No deployed address is recorded for these audits.

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

The repositories and files the reports name

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="omg-network"
></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