Challenge Information - NRFIN_00045

Commonly known as: Stock_Exchange_Simulator


Rounds Enabled

15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29

Details

Original Versions

Known Vulnerabilities

  • CWE-388 - Error Handling
  • CWE-822 - Untrusted Pointer Dereference
  • CWEs are listed as indicated by the challenge author.

Deployed patches

Deployed IDS rules

Author Information

"Narf Industries" info@narfindustries.com

DARPA performer group

Narf Industries (NRFIN)

Description

An options exchange simulator that matches sell orders to buy attempts.

Feature List

This service supports posting sell orders for options holdings and account controls. All options order requests must be checksummed with a super-secret formula and XORd with a super-secret account key. A client can perform: buy, sell, and quotation options. His holdings are automatically managed by the service.

The binary also performs book keeping functions to make sure clients don't oversell their holdings or balances.

Vulnerability 1

When a holding is maxed out (0xFFFFFFFF shares) there is an opportunity to trigger an error message. Attacker controlled values are directly used in the read location and write location during error handling to set an error code. The contents of this error code are transmitted back to the client and the program terminates on error.

Generic class of vulnerability

Untrusted pointer dereference.

CWE classification

CWE-388 (Error Handling) CWE-822 (Untrusted Pointer Deref)

Challenges

The two challenges in this binary are (1) understanding and replicating the checksum algortihm for order types that are never seen in the poll traffic and (2) identifying accounts which will have overflowing holdings that trigger the error condition.

Difficulty

  • Discovering is easy
  • Proving is medium
  • Patching is easy

POV Information

Round Source Destination Result POV Analysis Video
16 CSDS CodeJitsu Failed POV POV Watch
16 CSDS DeepRed Failed POV POV Watch
16 CSDS Disekt Failed POV POV Watch
16 CSDS ForAllSecure Failed POV POV Watch
16 CSDS Shellphish Failed POV POV Watch
16 CSDS TECHx Failed POV POV Watch
16 DeepRed CodeJitsu Failed POV POV Watch
16 DeepRed CSDS Failed POV POV Watch
16 DeepRed Disekt Failed POV POV Watch
16 DeepRed ForAllSecure Failed POV POV Watch
16 DeepRed Shellphish Failed POV POV Watch
16 DeepRed TECHx Failed POV POV Watch
16 ForAllSecure CodeJitsu Failed POV POV Watch
16 ForAllSecure CSDS Failed POV POV Watch
16 ForAllSecure DeepRed Failed POV POV Watch
16 ForAllSecure Disekt Failed POV POV Watch
16 ForAllSecure Shellphish Failed POV POV Watch
16 ForAllSecure TECHx Failed POV POV Watch
17 CodeJitsu Shellphish Failed POV through defenses POV Watch
17 CSDS CodeJitsu Failed POV POV Watch
17 CSDS DeepRed Failed POV POV Watch
17 CSDS Disekt Failed POV POV Watch
17 CSDS ForAllSecure Failed POV POV Watch
17 CSDS Shellphish Failed POV through defenses POV Watch
17 CSDS TECHx Failed POV POV Watch
17 DeepRed CodeJitsu Failed POV POV Watch
17 DeepRed CSDS Failed POV POV Watch
17 DeepRed Disekt Failed POV POV Watch
17 DeepRed ForAllSecure Failed POV POV Watch
17 DeepRed Shellphish Failed POV through defenses POV Watch
17 DeepRed TECHx Failed POV POV Watch
17 ForAllSecure CodeJitsu Failed POV POV Watch
17 ForAllSecure CSDS Failed POV POV Watch
17 ForAllSecure DeepRed Failed POV POV Watch
17 ForAllSecure Disekt Failed POV POV Watch
17 ForAllSecure Shellphish Failed POV through defenses POV Watch
17 ForAllSecure TECHx Failed POV POV Watch
18 CSDS CodeJitsu Failed POV POV Watch
18 CSDS DeepRed Failed POV POV Watch
18 CSDS Disekt Failed POV POV Watch
18 CSDS ForAllSecure Failed POV POV Watch
18 CSDS Shellphish Failed POV through defenses POV Watch
18 CSDS TECHx Failed POV POV Watch
18 DeepRed CodeJitsu Failed POV POV Watch
18 DeepRed CSDS Failed POV POV Watch
18 DeepRed Disekt Failed POV POV Watch
18 DeepRed ForAllSecure Failed POV POV Watch
18 DeepRed Shellphish Failed POV through defenses POV Watch
18 DeepRed TECHx Failed POV POV Watch
18 ForAllSecure CodeJitsu Failed POV POV Watch
18 ForAllSecure CSDS Failed POV POV Watch
18 ForAllSecure DeepRed Failed POV POV Watch
18 ForAllSecure Disekt Failed POV POV Watch
18 ForAllSecure Shellphish Failed POV through defenses POV Watch
18 ForAllSecure TECHx Failed POV POV Watch
19 CSDS CodeJitsu Failed POV POV Watch
19 CSDS DeepRed Failed POV POV Watch
19 CSDS Disekt Failed POV POV Watch
19 CSDS ForAllSecure Failed POV POV Watch
19 CSDS Shellphish Failed POV through defenses POV Watch
19 CSDS TECHx Failed POV POV Watch
19 DeepRed CodeJitsu Failed POV POV Watch
19 DeepRed CSDS Failed POV POV Watch
19 DeepRed Disekt Failed POV POV Watch
19 DeepRed ForAllSecure Failed POV POV Watch
19 DeepRed Shellphish Failed POV through defenses POV Watch
19 DeepRed TECHx Failed POV POV Watch
19 ForAllSecure CodeJitsu Failed POV POV Watch
19 ForAllSecure CSDS Failed POV POV Watch
19 ForAllSecure DeepRed Failed POV POV Watch
19 ForAllSecure Disekt Failed POV POV Watch
19 ForAllSecure Shellphish Failed POV through defenses POV Watch
19 ForAllSecure TECHx Failed POV POV Watch
20 CSDS CodeJitsu Failed POV POV Watch
20 CSDS DeepRed Failed POV POV Watch
20 CSDS Disekt Failed POV POV Watch
20 CSDS ForAllSecure Failed POV POV Watch
20 CSDS Shellphish Failed POV through defenses POV Watch
20 CSDS TECHx Failed POV POV Watch
20 DeepRed CodeJitsu Failed POV POV Watch
20 DeepRed CSDS Failed POV POV Watch
20 DeepRed Disekt Failed POV POV Watch
20 DeepRed ForAllSecure Failed POV POV Watch
20 DeepRed Shellphish Failed POV through defenses POV Watch
20 DeepRed TECHx Failed POV POV Watch
20 ForAllSecure CodeJitsu Failed POV POV Watch
20 ForAllSecure CSDS Failed POV POV Watch
20 ForAllSecure DeepRed Failed POV POV Watch
20 ForAllSecure Disekt Failed POV POV Watch
20 ForAllSecure Shellphish Failed POV through defenses POV Watch
20 ForAllSecure TECHx Failed POV POV Watch
21 CSDS CodeJitsu Failed POV POV Watch
21 CSDS DeepRed Failed POV POV Watch
21 CSDS Disekt Failed POV POV Watch
21 CSDS ForAllSecure Failed POV POV Watch
21 CSDS Shellphish Failed POV through defenses POV Watch
21 CSDS TECHx Failed POV POV Watch
21 DeepRed CodeJitsu Failed POV POV Watch
21 DeepRed CSDS Failed POV POV Watch
21 DeepRed Disekt Failed POV POV Watch
21 DeepRed ForAllSecure Failed POV POV Watch
21 DeepRed Shellphish Failed POV through defenses POV Watch
21 DeepRed TECHx Failed POV POV Watch
21 ForAllSecure CodeJitsu Failed POV POV Watch
21 ForAllSecure CSDS Failed POV POV Watch
21 ForAllSecure DeepRed Failed POV POV Watch
21 ForAllSecure Disekt Failed POV POV Watch
21 ForAllSecure Shellphish Failed POV through defenses POV Watch
21 ForAllSecure TECHx Failed POV POV Watch
22 CSDS CodeJitsu Failed POV POV Watch
22 CSDS DeepRed Failed POV POV Watch
22 CSDS Disekt Failed POV POV Watch
22 CSDS ForAllSecure Failed POV POV Watch
22 CSDS Shellphish Failed POV through defenses POV Watch
22 CSDS TECHx Failed POV POV Watch
22 DeepRed CodeJitsu Failed POV POV Watch
22 DeepRed CSDS Failed POV POV Watch
22 DeepRed Disekt Failed POV POV Watch
22 DeepRed ForAllSecure Failed POV POV Watch
22 DeepRed Shellphish Failed POV through defenses POV Watch
22 DeepRed TECHx Failed POV POV Watch
22 ForAllSecure CodeJitsu Failed POV POV Watch
22 ForAllSecure CSDS Failed POV POV Watch
22 ForAllSecure DeepRed Failed POV POV Watch
22 ForAllSecure Disekt Failed POV POV Watch
22 ForAllSecure Shellphish Failed POV through defenses POV Watch
22 ForAllSecure TECHx Failed POV POV Watch
23 CodeJitsu CSDS Failed POV through defenses POV Watch
23 CSDS CodeJitsu Failed POV POV Watch
23 CSDS DeepRed Failed POV POV Watch
23 CSDS Disekt Failed POV POV Watch
23 CSDS ForAllSecure Failed POV POV Watch
23 CSDS Shellphish Failed POV through defenses POV Watch
23 DeepRed CodeJitsu Failed POV POV Watch
23 DeepRed CSDS Failed POV through defenses POV Watch
23 DeepRed Disekt Failed POV POV Watch
23 DeepRed ForAllSecure Failed POV POV Watch
23 DeepRed Shellphish Failed POV through defenses POV Watch
23 ForAllSecure CodeJitsu Failed POV POV Watch
23 ForAllSecure CSDS Failed POV through defenses POV Watch
23 ForAllSecure DeepRed Failed POV POV Watch
23 ForAllSecure Disekt Failed POV POV Watch
23 ForAllSecure Shellphish Failed POV through defenses POV Watch
24 CodeJitsu DeepRed Failed POV through defenses POV Watch
24 CSDS CodeJitsu Failed POV POV Watch
24 CSDS DeepRed Failed POV through defenses POV Watch
24 CSDS Disekt Failed POV POV Watch
24 CSDS ForAllSecure Failed POV POV Watch
24 CSDS Shellphish Failed POV through defenses POV Watch
24 CSDS TECHx Failed POV through defenses POV Watch
24 DeepRed CodeJitsu Failed POV POV Watch
24 DeepRed CSDS Failed POV through defenses POV Watch
24 DeepRed Disekt Failed POV POV Watch
24 DeepRed ForAllSecure Failed POV POV Watch
24 DeepRed Shellphish Failed POV through defenses POV Watch
24 DeepRed TECHx Failed POV through defenses POV Watch
24 ForAllSecure CodeJitsu Failed POV POV Watch
24 ForAllSecure CSDS Failed POV through defenses POV Watch
24 ForAllSecure DeepRed Failed POV through defenses POV Watch
24 ForAllSecure Disekt Failed POV POV Watch
24 ForAllSecure Shellphish Failed POV through defenses POV Watch
24 ForAllSecure TECHx Failed POV through defenses POV Watch
25 CSDS CodeJitsu Failed POV through defenses POV Watch
25 CSDS DeepRed Failed POV through defenses POV Watch
25 CSDS Disekt Failed POV POV Watch
25 CSDS ForAllSecure Failed POV POV Watch
25 CSDS Shellphish Failed POV through defenses POV Watch
25 CSDS TECHx Failed POV through defenses POV Watch
25 DeepRed CodeJitsu Failed POV through defenses POV Watch
25 DeepRed CSDS Failed POV through defenses POV Watch
25 DeepRed Disekt Failed POV POV Watch
25 DeepRed ForAllSecure Failed POV POV Watch
25 DeepRed Shellphish Failed POV through defenses POV Watch
25 DeepRed TECHx Failed POV through defenses POV Watch
25 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
25 ForAllSecure CSDS Failed POV through defenses POV Watch
25 ForAllSecure DeepRed Failed POV through defenses POV Watch
25 ForAllSecure Disekt Failed POV POV Watch
25 ForAllSecure Shellphish Failed POV through defenses POV Watch
25 ForAllSecure TECHx Failed POV through defenses POV Watch
26 CSDS CodeJitsu Failed POV through defenses POV Watch
26 CSDS DeepRed Failed POV through defenses POV Watch
26 CSDS Disekt Failed POV POV Watch
26 CSDS ForAllSecure Failed POV POV Watch
26 CSDS Shellphish Failed POV through defenses POV Watch
26 CSDS TECHx Failed POV through defenses POV Watch
26 DeepRed CodeJitsu Failed POV through defenses POV Watch
26 DeepRed CSDS Failed POV through defenses POV Watch
26 DeepRed Disekt Failed POV POV Watch
26 DeepRed ForAllSecure Failed POV POV Watch
26 DeepRed Shellphish Failed POV through defenses POV Watch
26 DeepRed TECHx Failed POV through defenses POV Watch
26 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
26 ForAllSecure CSDS Failed POV through defenses POV Watch
26 ForAllSecure DeepRed Failed POV through defenses POV Watch
26 ForAllSecure Disekt Failed POV POV Watch
26 ForAllSecure Shellphish Failed POV through defenses POV Watch
26 ForAllSecure TECHx Failed POV through defenses POV Watch
27 CSDS CodeJitsu Failed POV through defenses POV Watch
27 CSDS DeepRed Failed POV through defenses POV Watch
27 CSDS Disekt Failed POV POV Watch
27 CSDS ForAllSecure Failed POV POV Watch
27 CSDS Shellphish Failed POV through defenses POV Watch
27 CSDS TECHx Failed POV through defenses POV Watch
27 DeepRed CodeJitsu Failed POV through defenses POV Watch
27 DeepRed CSDS Failed POV through defenses POV Watch
27 DeepRed Disekt Failed POV POV Watch
27 DeepRed ForAllSecure Failed POV POV Watch
27 DeepRed Shellphish Failed POV through defenses POV Watch
27 DeepRed TECHx Failed POV through defenses POV Watch
27 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
27 ForAllSecure CSDS Failed POV through defenses POV Watch
27 ForAllSecure DeepRed Failed POV through defenses POV Watch
27 ForAllSecure Disekt Failed POV POV Watch
27 ForAllSecure Shellphish Failed POV through defenses POV Watch
27 ForAllSecure TECHx Failed POV through defenses POV Watch
28 CSDS CodeJitsu Failed POV through defenses POV Watch
28 CSDS DeepRed Failed POV through defenses POV Watch
28 CSDS Disekt Failed POV POV Watch
28 CSDS ForAllSecure Failed POV POV Watch
28 CSDS Shellphish Failed POV through defenses POV Watch
28 CSDS TECHx Failed POV through defenses POV Watch
28 DeepRed CodeJitsu Failed POV through defenses POV Watch
28 DeepRed CSDS Failed POV through defenses POV Watch
28 DeepRed Disekt Failed POV POV Watch
28 DeepRed ForAllSecure Failed POV POV Watch
28 DeepRed Shellphish Failed POV through defenses POV Watch
28 DeepRed TECHx Failed POV through defenses POV Watch
28 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
28 ForAllSecure CSDS Failed POV through defenses POV Watch
28 ForAllSecure DeepRed Failed POV through defenses POV Watch
28 ForAllSecure Disekt Failed POV POV Watch
28 ForAllSecure Shellphish Failed POV through defenses POV Watch
28 ForAllSecure TECHx Failed POV through defenses POV Watch
29 CodeJitsu DeepRed Failed POV POV Watch
29 CSDS CodeJitsu Failed POV through defenses POV Watch
29 CSDS DeepRed Failed POV POV Watch
29 CSDS Disekt Failed POV POV Watch
29 CSDS ForAllSecure Failed POV POV Watch
29 CSDS Shellphish Failed POV through defenses POV Watch
29 CSDS TECHx Failed POV through defenses POV Watch
29 DeepRed CodeJitsu Failed POV through defenses POV Watch
29 DeepRed CSDS Failed POV through defenses POV Watch
29 DeepRed Disekt Failed POV POV Watch
29 DeepRed ForAllSecure Failed POV POV Watch
29 DeepRed Shellphish Failed POV through defenses POV Watch
29 DeepRed TECHx Failed POV through defenses POV Watch
29 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
29 ForAllSecure CSDS Failed POV through defenses POV Watch
29 ForAllSecure DeepRed Failed POV POV Watch
29 ForAllSecure Disekt Failed POV POV Watch
29 ForAllSecure Shellphish Failed POV through defenses POV Watch
29 ForAllSecure TECHx Failed POV through defenses POV Watch

Curated by Lunge Technology, LLC. Questions or comments? Send us email