Building on Avalanche? Ava Labs can cover up to 75% of your audit, and we take 10% off our quote. Avalanche audits: up to 75% covered. See how

Work & reportsReport

Sailor LendWeb Application Security Review

Guvenkaya reviewed the Sailor Lend web application.

Sailor Lend logo

Date of engagement: 10th December 2025 - 29th December 2025

  • Michal BajorPrincipal advisor

Engagement Dashboard

Audit results

Guvenkaya conducted a comprehensive security assessment of the Sailor Lend web application. During this engagement, 2 findings were reported: 1 Critical and 1 High severity issue. The critical finding includes a remote code execution vulnerability through React2Shell (CVE-2025-55182) affecting React Server Components. All findings have been addressed by the Sailor Lend team.

Engagement record

Client
Sailor Lend
System
Sailor Lend web application
Review period
10th December 2025 - 29th December 2025
Reviewed baseline
93fbf4f33c97999cb74ff109f355b6c73bc722f8
Paths in scope
1
Principal advisor
Michal Bajor

Timeline

  1. Review start10th December 2025
  2. Draft report29th December 2025
  3. Final report17th March 2026

Findings by severity

  • Critical 1
  • High 1
  • Medium 0
  • Low 0
  • Informational 0

Finding status at final report

2Raised
2Fixed

Remediation complexity

2Simple

Impact

1Severe
1Moderate

Likelihood

2Likely

Advisory and Client

The advisory

Guvenkaya specializes in security for digital assets and financial infrastructure, from smart contracts and protocols to applications, infrastructure, custody and cryptography.

Our team, including the sitting Heads of Security at Gauntlet and Agora, brings experience from Kraken, OpenZeppelin, Binance, ZKsync, Nillion, Invicti and EY. Across the team: 200+ security reviews, $30B+ in volume secured, 13 published cryptography research papers, and credentials including OSCP, OSWE and CISM.

  • Every reviewer has a public bio and is named before you sign. We match expertise to your system, with a principal leading scoping and checking findings.

The client

Sailor Lend is a trustless, self-custodial DeFi lending protocol built on the NEAR blockchain. The platform enables users to obtain instant loans using BTC, ZEC, or SOL as collateral without requiring KYC verification. Users can deposit stablecoins for lending to earn interest, while borrowers can leverage their crypto assets to access liquidity. The protocol implements liquidation mechanisms, interest rate calculations, and Pyth price oracle integrations.

Scope and Review Boundaries

Review depths

Deep
Line-by-line review with explicit attack hypotheses, adversarial reasoning about state transitions, and reproduction attempts for each hypothesis that survived reading.
Supporting
The code was read for its effect on a reviewed flow. Behaviour outside that effect was not assessed.
Targeted
Entry points were exercised or triaged against the flow's security properties rather than read in full.

This is the code we read, and how closely. 1 paths are in scope. Each path links to the file at the reviewed commit.

PathReview depthScope note
srcDeepSailor Lend Web Application

Out of scope

The audit included reviewing the code for security vulnerabilities, coding practices, and architecture. The audit does not include a review of the dependencies or external contracts such as Pyth Oracle and FT contracts.

Assessment Framework

Guvenkaya rates findings by likelihood and impact so remediation can be prioritized by technical risk, business context, and the decision the engagement is meant to support.

Rating chain applied to every finding

  1. 01 Likelihood Likely, possible or rare
  2. 02 Impact Severe, moderate or negligible
  3. 03 Severity Derived from the matrix below
  4. 04 Remediation complexity Simple, moderate or difficult
  5. 05 Status Not fixed, fixed, acknowledged or scheduled

Impact

ImpactWhat it means here
SevereExploitation could result in critical loss or compromise, such as full system control, substantial financial loss, or severe reputational damage.
ModerateExploitation may lead to limited data loss, partial compromise, moderate financial impact, or noticeable degradation of services.
NegligibleExploitation has minimal impact, such as minor data exposure without significant consequences or slight inconvenience without substantial disruption.

Likelihood

LikelihoodWhat it means here
LikelyThe vulnerability is easily discoverable and not overly complex to exploit.
PossibleThe vulnerability presents some challenges either in discovery or in the complexity of the attack.
RareThe vulnerability is either very difficult to discover or complex to exploit, or both.

This matrix provides a nuanced view, taking into account both the ease of discovering a vulnerability and the complexity involved in exploiting it.

Attack Complexity \ Discovery EaseObviousConcealedHidden
ComplexPossibleRareRare
ModerateLikelyPossibleRare
StraightforwardLikelyPossiblePossible

Severity

SeverityWhat it means here
CriticalAssigned to vulnerabilities with severe impact and a likely likelihood of exploitation.
HighFor vulnerabilities with either severe impact but only a possible likelihood, or moderate impact with a likely likelihood.
MediumUsed for vulnerabilities with severe impact but a rare likelihood, moderate impact with a possible likelihood, or negligible impact with a likely likelihood.
LowFor vulnerabilities with moderate impact and rare likelihood, or negligible impact with a possible likelihood.
InformationalThe lowest severity rating, typically for vulnerabilities with negligible impact and a rare likelihood of exploitation.
Likelihood \ ImpactSevereModerateNegligible
LikelyCriticalHighMedium
PossibleHighMediumLow
RareMediumLowInformational

Remediation complexity

This measures how difficult it is to remediate a finding once it has been identified.

Remediation complexityWhat it means here
SimplePatches or fixes are readily available and easily implemented.
ModerateRequires some time and resources to remediate, but well within the capabilities of most organizations.
DifficultRemediation requires significant resources, specialized skills, or substantial changes to systems or architecture.

Finding status

This tracks the client's response to each finding and whether remediation has been completed, accepted, or scheduled.

StatusWhat it means here
Not FixedIndicates that the vulnerability has been identified but no remedial action has been taken yet. This status is crucial for newly discovered vulnerabilities or those awaiting prioritization.
FixedThis status is applied when the vulnerability has been successfully remediated. It implies that appropriate measures, such as patching, configuration changes, or architectural modifications, have been implemented to resolve the issue.
AcknowledgedThis status is used for vulnerabilities that have been recognized, but for various reasons (such as risk acceptance, cost, or other business decisions), have not been fixed. It indicates that the risk posed by the vulnerability is known and has been consciously accepted.
ScheduledThis status indicates that the vulnerability has been acknowledged and a plan is in place to fix it in the future. It signifies that while remediation hasn't yet occurred, the issue has been prioritized and is part of the planned development roadmap.

Findings Summary

2All findings
1 Critical
1 High
0 Medium
0 Low
0 Informational

Findings register

FindingImpactLikelihoodSeverityRemediation complexityStatus
GUV-1: Vulnerable to React2ShellSevereLikelyCriticalSimpleFixed
GUV-2: Hardcoded Password in Source CodeModerateLikelyHighSimpleFixed

Detailed Findings

GUV-1: Vulnerable to React2Shell

Severity
Critical
Impact
Severe
Likelihood
Likely
Remediation Complexity
Simple
Status
Fixed
Fix commit
3446235a0abc82377a266bc8c8a056c3523130fc

Description

The application is vulnerable to React2Shell (CVE-2025-55182), a critical remote code execution (RCE) vulnerability affecting React Server Components. The project currently uses React 19.0.0, which falls within the vulnerable version range (19.0.0 through 19.2.0).

This vulnerability stems from unsafe deserialization within React's "Flight" protocol, allowing unauthenticated attackers to execute arbitrary code on the server by sending specially crafted HTTP requests. The application uses Next.js 15.1.4 with the App Router, which relies on React Server Components and is therefore affected.

The vulnerability was confirmed using https://github.com/assetnote/react2shell-scanner tool.

Recommendation

We recommend updating the react version to a non-vulnerable version.

Remediation

Sailor Lend team has fixed this issue in commit 3446235a0abc82377a266bc8c8a056c3523130fc

GUV-2: Hardcoded Password in Source Code

Severity
High
Impact
Moderate
Likelihood
Likely
Remediation Complexity
Simple
Status
Fixed
Fix commit
3446235a0abc82377a266bc8c8a056c3523130fc

Description

The source code contains a hardcoded password that is checked before accessing the web application.

Password Check
const passwordIsCorrect = (value: string) => {  return value === "satoshi";};

Recommendation

We recommend avoiding hard-coding sensitive values in the code. The best approach would be to send the password to the backend and do the hash-based comparison there.

Remediation

Sailor Lend team has fixed this issue in commit 3446235a0abc82377a266bc8c8a056c3523130fc

The web version and the PDF (13 pages) are generated from the same source. The report as first delivered is kept in the public reports archive.

Tell us what you need to secure.

Describe your system, main concern, and deadline. We’ll reply with scoping questions and a proposed next step.

Discuss your scope