Ready to strengthen your defenses?

Let's discuss your next
security milestone
CONTACT
CONFIDENTIAL

White-box assessment reveals systemic risk in a payments platform

CLIENT

Confidential

SERVICE

Penetration Testing

INDUSTRY

Payments Infrastructure Provider

YEAR

2024

Fortuna conducted a white-box application security assessment of a heavily refactored transaction processing system supporting cross-border payments. The goal was to determine whether performance-driven architectural changes introduced exploitable security, fraud, or slippage-abuse risk.

Problem

The client had recently expanded its web platform to support new integrations and aggressive performance optimizations.

These changes introduced multiple caching layers and custom object-handling logic implemented in Ruby, with critical execution paths intentionally optimized for throughput and latency.

While the platform scaled effectively, these performance-driven design decisions increased complexity around trust boundaries. In particular, certain safety checks had been relaxed in favor of performance, and the engineering team sought assurance that the affected database hot paths, session and state management logic, and custom serialization code did not introduce exploitable conditions.

Solution

Fortuna reviewed the full Ruby source code using a combination of automated static analysis, structured fuzzing, and targeted manual review.

To go beyond pattern-based detection, we applied Ruby-native fuzzing techniques against file and object-processing endpoints. This included grammar-aware input mutation using Radamsa and targeted harnesses built with ruby-fuzzer to stress serialization and cache-write logic.

During this process, we identified a pair of application endpoints that enabled user-controlled serialized Ruby objects to be written into a shared memcached layer and later retrieved and deserialized by a separate endpoint. While neither issue appeared critical in isolation, combined they formed a viable exploitation chain.

Further analysis identified a usable deserialization gadget chain within the application’s codebase and dependencies. our team developed a controlled proof-of-concept demonstrating remote code execution via object injection, validating a complete end-to-end compromise path.

Alongside exploitation validation, Fortuna worked with the engineering team to remediate the affected code paths. This included removing unsafe deserialization, tightening cache usage semantics, and introducing defensive serialization boundaries. The updated implementation eliminated the exploitation class while preserving near-parity performance on key application flows.

Key results

01

1 critical vulnerability identified: Ruby object injection leading to remote code execution

02

2 endpoints chained into a practical exploit path (write-to-cache → read/deserialization)

03

14 total security findings identified and validated. 1 Critical, 3 High, 6 Medium, 4 Low

04

Determined that the recovered account had domain-level administrative privileges

05

0 false positives in the final report. All findings were manually validated and exploit-confirmed by the client team

Explore related
case studies

Client: Confidential

SERVICE

Penetration Testing

YEAR

2025

Real-world office penetration test reveals IoT to enterprise attack path

Fortuna conducted an on-site office penetration test to see if an attacker could access the client's enterprise network via physical or wireless weaknesses.

EXPLOREEXPLORE

Client: Confidential

SERVICE

Penetration Testing

YEAR

2025

Demonstrating total AD takeover from low privilege VPN access

A digital asset market data provider hired Fortuna to test if limited VPN access could be leveraged to exploit internal systems and escalate privileges in Active Directory.

EXPLOREEXPLORE

Let's discuss your next security or compliance milestone

SCALE WITH SECURITYSCALE WITH SECURITY