Challenge Information - KPRCA_00111

Commonly known as: Blubber


Rounds Enabled

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

Details

Original Versions

Known Vulnerabilities

  • CWE-125 - Out-of-bounds Read
  • CWE-129 - Improper Validation of Array Index
  • CWE-191 - Integer Underflow (Wrap or Wraparound)
  • CWEs are listed as indicated by the challenge author.

Deployed patches

Deployed IDS rules

None

DARPA performer group

Kaprica Security (KPRCA)

Description

An IPC server + 2 clients implementation of a social media service where users can 'blub' messages to a list of subscribers.

Feature List

To first connect, users enter an username that will uniquely identify them to the blubber service and other blubbers.

Users can blub a message of up to 140 characters with the 'b' command.

Users can subscribe to another blubber with the 's' command.

Users can read new blubs from other blubbers with the 'r' command.

Users can reblub another blubber's blub with the 'y' command.

Users can exit the blubber service with 'e' command.

In addition, there are two IPC clients present with this CB that pseudo randomly interact with the blubber service. It wouldn't be social otherwise.

Vulnerability

Vuln 1

When reblubbing, the user provides a username and number. The number serves as an index into a vector that stores that users blubs. Through the use of strtol, improper types of int for the index and length, and poor bounds checks in the vector class, it is possibly to negatively index into the vector's backing array. In this case, the value pulled out of the index is a pointer to a blub object which stores the username and content of a blub. Therefore, an attacker can achieve a read-anywhere primitive by blubbing a blub with the address they want to read in the content and later reblubbing an index that uses that address as the address of a blub. This allows for a Type 2 POV.

Generic class of vulnerability

Out-of-bounds Read

CWE classification

CWE-125 Out-of-bounds Read CWE-129 Inproper Validation of Array Index CWE-191 Integer Underflow

Challenges

  • It is our understanding that in CQE, many CRS's did not do well with IPC challenges. This challenge was written mostly to evaluate baseline IPC performance. The bug itself is present in the 'server' binary, and requires no interaction with the two additional IPC 'clients'. I.e, this is a normal CB with IPC thrown in for network traffic generation and ostensible additional complexity.

Difficulty

  • Discovery: easy
  • Proving: easy
  • Patching: easy

POV Information

Round Source Destination Result POV Analysis Video
1 CSDS CodeJitsu Failed POV POV Watch
1 CSDS DeepRed Failed POV POV Watch
1 CSDS Disekt Failed POV POV Watch
1 CSDS ForAllSecure Failed POV POV Watch
1 CSDS Shellphish Failed POV POV Watch
1 CSDS TECHx Failed POV POV Watch
1 DeepRed CodeJitsu Failed POV POV
1 DeepRed CSDS Failed POV POV
1 DeepRed Disekt Failed POV POV
1 DeepRed ForAllSecure Failed POV POV
1 DeepRed Shellphish Failed POV POV
1 DeepRed TECHx Failed POV POV
1 ForAllSecure CodeJitsu Failed POV POV Watch
1 ForAllSecure CSDS Failed POV POV Watch
1 ForAllSecure DeepRed Failed POV POV Watch
1 ForAllSecure Disekt Failed POV POV Watch
1 ForAllSecure Shellphish Failed POV POV Watch
1 ForAllSecure TECHx Failed POV POV Watch
2 CodeJitsu Shellphish Failed POV through defenses POV Watch
2 CSDS CodeJitsu Failed POV POV Watch
2 CSDS DeepRed Failed POV POV Watch
2 CSDS Disekt Failed POV POV Watch
2 CSDS ForAllSecure Failed POV POV Watch
2 CSDS Shellphish Failed POV through defenses POV Watch
2 CSDS TECHx Failed POV POV Watch
2 DeepRed CodeJitsu Failed POV POV
2 DeepRed CSDS Failed POV POV
2 DeepRed Disekt Failed POV POV
2 DeepRed ForAllSecure Failed POV POV
2 DeepRed Shellphish Failed POV through defenses POV Watch
2 DeepRed TECHx Failed POV POV
2 ForAllSecure CodeJitsu Failed POV POV Watch
2 ForAllSecure CSDS Failed POV POV Watch
2 ForAllSecure DeepRed Failed POV POV Watch
2 ForAllSecure Disekt Failed POV POV Watch
2 ForAllSecure Shellphish Failed POV through defenses POV Watch
2 ForAllSecure TECHx Failed POV POV Watch
3 CSDS CodeJitsu Failed POV POV Watch
3 CSDS DeepRed Failed POV POV Watch
3 CSDS Disekt Failed POV POV Watch
3 CSDS ForAllSecure Failed POV POV Watch
3 CSDS Shellphish Failed POV through defenses POV Watch
3 CSDS TECHx Failed POV POV Watch
3 DeepRed CodeJitsu Failed POV POV
3 DeepRed CSDS Failed POV POV
3 DeepRed Disekt Failed POV POV
3 DeepRed ForAllSecure Failed POV POV
3 DeepRed Shellphish Failed POV through defenses POV Watch
3 DeepRed TECHx Failed POV POV
3 ForAllSecure CodeJitsu Failed POV POV Watch
3 ForAllSecure CSDS Failed POV POV Watch
3 ForAllSecure DeepRed Failed POV POV Watch
3 ForAllSecure Disekt Failed POV POV Watch
3 ForAllSecure Shellphish Failed POV through defenses POV Watch
3 ForAllSecure TECHx Failed POV POV Watch
4 CSDS CodeJitsu Failed POV POV Watch
4 CSDS DeepRed Failed POV POV Watch
4 CSDS Disekt Failed POV POV Watch
4 CSDS ForAllSecure Failed POV POV Watch
4 CSDS Shellphish Failed POV through defenses POV Watch
4 CSDS TECHx Failed POV POV Watch
4 DeepRed CodeJitsu Failed POV POV
4 DeepRed CSDS Failed POV POV
4 DeepRed Disekt Failed POV POV
4 DeepRed ForAllSecure Failed POV POV
4 DeepRed Shellphish Failed POV through defenses POV Watch
4 DeepRed TECHx Failed POV POV
4 ForAllSecure CodeJitsu Failed POV POV Watch
4 ForAllSecure CSDS Failed POV POV Watch
4 ForAllSecure DeepRed Failed POV POV Watch
4 ForAllSecure Disekt Failed POV POV Watch
4 ForAllSecure Shellphish Failed POV through defenses POV Watch
4 ForAllSecure TECHx Failed POV POV Watch
5 CSDS CodeJitsu Failed POV POV Watch
5 CSDS DeepRed Failed POV POV Watch
5 CSDS Disekt Failed POV POV Watch
5 CSDS ForAllSecure Failed POV POV Watch
5 CSDS Shellphish Failed POV through defenses POV Watch
5 CSDS TECHx Failed POV POV Watch
5 DeepRed CodeJitsu Failed POV POV
5 DeepRed CSDS Failed POV POV
5 DeepRed Disekt Failed POV POV
5 DeepRed ForAllSecure Failed POV POV
5 DeepRed Shellphish Failed POV through defenses POV Watch
5 DeepRed TECHx Failed POV POV
5 ForAllSecure CodeJitsu Failed POV POV Watch
5 ForAllSecure CSDS Failed POV POV Watch
5 ForAllSecure DeepRed Failed POV POV Watch
5 ForAllSecure Disekt Failed POV POV Watch
5 ForAllSecure Shellphish Failed POV through defenses POV Watch
5 ForAllSecure TECHx Failed POV POV Watch
6 CSDS CodeJitsu Failed POV POV Watch
6 CSDS DeepRed Failed POV POV Watch
6 CSDS Disekt Failed POV POV Watch
6 CSDS ForAllSecure Failed POV POV Watch
6 CSDS Shellphish Failed POV through defenses POV Watch
6 CSDS TECHx Failed POV POV Watch
6 DeepRed CodeJitsu Failed POV POV
6 DeepRed CSDS Failed POV POV
6 DeepRed Disekt Failed POV POV
6 DeepRed ForAllSecure Failed POV POV
6 DeepRed Shellphish Failed POV through defenses POV Watch
6 DeepRed TECHx Failed POV POV
6 ForAllSecure CodeJitsu Failed POV POV Watch
6 ForAllSecure CSDS Failed POV POV Watch
6 ForAllSecure DeepRed Failed POV POV Watch
6 ForAllSecure Disekt Failed POV POV Watch
6 ForAllSecure Shellphish Failed POV through defenses POV Watch
6 ForAllSecure TECHx Failed POV POV Watch
7 CSDS CodeJitsu Failed POV POV Watch
7 CSDS DeepRed Failed POV POV Watch
7 CSDS Disekt Failed POV POV Watch
7 CSDS ForAllSecure Failed POV POV Watch
7 CSDS Shellphish Failed POV through defenses POV Watch
7 CSDS TECHx Failed POV POV Watch
7 DeepRed CodeJitsu Failed POV POV
7 DeepRed CSDS Failed POV POV
7 DeepRed Disekt Failed POV POV
7 DeepRed ForAllSecure Failed POV POV
7 DeepRed Shellphish Failed POV through defenses POV Watch
7 DeepRed TECHx Failed POV POV
7 ForAllSecure CodeJitsu Failed POV POV Watch
7 ForAllSecure CSDS Failed POV POV Watch
7 ForAllSecure DeepRed Failed POV POV Watch
7 ForAllSecure Disekt Failed POV POV Watch
7 ForAllSecure Shellphish Failed POV through defenses POV Watch
7 ForAllSecure TECHx Failed POV POV Watch
8 CodeJitsu Disekt Failed POV through defenses POV Watch
8 CSDS CodeJitsu Failed POV POV Watch
8 CSDS DeepRed Failed POV POV Watch
8 CSDS Disekt Failed POV through defenses POV Watch
8 CSDS ForAllSecure Failed POV POV Watch
8 CSDS Shellphish Failed POV through defenses POV Watch
8 CSDS TECHx Failed POV POV Watch
8 DeepRed CodeJitsu Failed POV POV
8 DeepRed CSDS Failed POV POV
8 DeepRed Disekt Failed POV through defenses POV
8 DeepRed ForAllSecure Failed POV POV
8 DeepRed Shellphish Failed POV through defenses POV Watch
8 DeepRed TECHx Failed POV POV
8 ForAllSecure CodeJitsu Failed POV POV Watch
8 ForAllSecure CSDS Failed POV POV Watch
8 ForAllSecure DeepRed Failed POV POV Watch
8 ForAllSecure Disekt Failed POV through defenses POV Watch
8 ForAllSecure Shellphish Failed POV through defenses POV Watch
8 ForAllSecure TECHx Failed POV POV Watch
9 CSDS CodeJitsu Failed POV POV Watch
9 CSDS DeepRed Failed POV POV Watch
9 CSDS Disekt Failed POV through defenses POV Watch
9 CSDS ForAllSecure Failed POV POV Watch
9 CSDS Shellphish Failed POV through defenses POV Watch
9 CSDS TECHx Failed POV POV Watch
9 DeepRed CodeJitsu Failed POV POV
9 DeepRed CSDS Failed POV POV
9 DeepRed Disekt Failed POV through defenses POV
9 DeepRed ForAllSecure Failed POV POV
9 DeepRed Shellphish Failed POV through defenses POV Watch
9 DeepRed TECHx Failed POV POV
9 ForAllSecure CodeJitsu Failed POV POV Watch
9 ForAllSecure CSDS Failed POV POV Watch
9 ForAllSecure DeepRed Failed POV POV Watch
9 ForAllSecure Disekt Failed POV through defenses POV Watch
9 ForAllSecure Shellphish Failed POV through defenses POV Watch
9 ForAllSecure TECHx Failed POV POV Watch
10 CSDS CodeJitsu Failed POV POV Watch
10 CSDS DeepRed Failed POV POV Watch
10 CSDS Disekt Failed POV through defenses POV Watch
10 CSDS ForAllSecure Failed POV POV Watch
10 CSDS Shellphish Failed POV through defenses POV Watch
10 CSDS TECHx Failed POV POV Watch
10 DeepRed CodeJitsu Failed POV POV
10 DeepRed CSDS Failed POV POV
10 DeepRed Disekt Failed POV through defenses POV
10 DeepRed ForAllSecure Failed POV POV
10 DeepRed Shellphish Failed POV through defenses POV Watch
10 DeepRed TECHx Failed POV POV
10 ForAllSecure CodeJitsu Failed POV POV Watch
10 ForAllSecure CSDS Failed POV POV Watch
10 ForAllSecure DeepRed Failed POV POV Watch
10 ForAllSecure Disekt Failed POV through defenses POV Watch
10 ForAllSecure Shellphish Failed POV through defenses POV Watch
10 ForAllSecure TECHx Failed POV POV Watch
11 CSDS CodeJitsu Failed POV POV Watch
11 CSDS DeepRed Failed POV POV Watch
11 CSDS Disekt Failed POV through defenses POV Watch
11 CSDS ForAllSecure Failed POV POV Watch
11 CSDS Shellphish Failed POV through defenses POV Watch
11 CSDS TECHx Failed POV POV Watch
11 DeepRed CodeJitsu Failed POV POV
11 DeepRed CSDS Failed POV POV
11 DeepRed Disekt Failed POV through defenses POV
11 DeepRed ForAllSecure Failed POV POV
11 DeepRed Shellphish Failed POV through defenses POV Watch
11 DeepRed TECHx Failed POV POV
11 ForAllSecure CodeJitsu Failed POV POV Watch
11 ForAllSecure CSDS Failed POV POV Watch
11 ForAllSecure DeepRed Failed POV POV Watch
11 ForAllSecure Disekt Failed POV through defenses POV Watch
11 ForAllSecure Shellphish Failed POV through defenses POV Watch
11 ForAllSecure TECHx Failed POV POV Watch
12 CSDS CodeJitsu Failed POV POV Watch
12 CSDS DeepRed Failed POV POV Watch
12 CSDS Disekt Failed POV through defenses POV Watch
12 CSDS ForAllSecure Failed POV POV Watch
12 CSDS Shellphish Failed POV through defenses POV Watch
12 CSDS TECHx Failed POV POV Watch
12 DeepRed CodeJitsu Failed POV POV
12 DeepRed CSDS Failed POV POV
12 DeepRed Disekt Failed POV through defenses POV
12 DeepRed ForAllSecure Failed POV POV
12 DeepRed Shellphish Failed POV through defenses POV Watch
12 DeepRed TECHx Failed POV POV
12 ForAllSecure CodeJitsu Failed POV POV Watch
12 ForAllSecure CSDS Failed POV POV Watch
12 ForAllSecure DeepRed Failed POV POV Watch
12 ForAllSecure Disekt Failed POV through defenses POV Watch
12 ForAllSecure Shellphish Failed POV through defenses POV Watch
12 ForAllSecure TECHx Failed POV POV Watch
13 CSDS CodeJitsu Failed POV POV Watch
13 CSDS DeepRed Failed POV POV Watch
13 CSDS Disekt Failed POV through defenses POV Watch
13 CSDS ForAllSecure Failed POV POV Watch
13 CSDS Shellphish Failed POV through defenses POV Watch
13 CSDS TECHx Failed POV POV Watch
13 DeepRed CodeJitsu Failed POV POV
13 DeepRed CSDS Failed POV POV
13 DeepRed Disekt Failed POV through defenses POV
13 DeepRed ForAllSecure Failed POV POV
13 DeepRed Shellphish Failed POV through defenses POV Watch
13 DeepRed TECHx Failed POV POV
13 ForAllSecure CodeJitsu Failed POV POV Watch
13 ForAllSecure CSDS Failed POV POV Watch
13 ForAllSecure DeepRed Failed POV POV Watch
13 ForAllSecure Disekt Failed POV through defenses POV Watch
13 ForAllSecure Shellphish Failed POV through defenses POV Watch
13 ForAllSecure TECHx Failed POV POV Watch
14 CSDS CodeJitsu Failed POV POV Watch
14 CSDS DeepRed Failed POV POV Watch
14 CSDS Disekt Failed POV through defenses POV Watch
14 CSDS ForAllSecure Failed POV POV Watch
14 CSDS Shellphish Failed POV through defenses POV Watch
14 CSDS TECHx Failed POV POV Watch
14 DeepRed CodeJitsu Failed POV POV
14 DeepRed CSDS Failed POV POV
14 DeepRed Disekt Failed POV through defenses POV
14 DeepRed ForAllSecure Failed POV POV
14 DeepRed Shellphish Failed POV through defenses POV Watch
14 DeepRed TECHx Failed POV POV
14 ForAllSecure CodeJitsu Failed POV POV Watch
14 ForAllSecure CSDS Failed POV POV Watch
14 ForAllSecure DeepRed Failed POV POV Watch
14 ForAllSecure Disekt Failed POV through defenses POV Watch
14 ForAllSecure Shellphish Failed POV through defenses POV Watch
14 ForAllSecure TECHx Failed POV POV Watch
15 CSDS CodeJitsu Failed POV POV Watch
15 CSDS DeepRed Failed POV POV Watch
15 CSDS Disekt Failed POV through defenses POV Watch
15 CSDS ForAllSecure Failed POV POV Watch
15 CSDS Shellphish Failed POV through defenses POV Watch
15 CSDS TECHx Failed POV POV Watch
15 DeepRed CodeJitsu Failed POV POV
15 DeepRed CSDS Failed POV POV
15 DeepRed Disekt Failed POV through defenses POV
15 DeepRed ForAllSecure Failed POV POV
15 DeepRed Shellphish Failed POV through defenses POV Watch
15 DeepRed TECHx Failed POV POV
15 ForAllSecure CodeJitsu Failed POV POV Watch
15 ForAllSecure CSDS Failed POV POV Watch
15 ForAllSecure DeepRed Failed POV POV Watch
15 ForAllSecure Disekt Failed POV through defenses POV Watch
15 ForAllSecure Shellphish Failed POV through defenses POV Watch
15 ForAllSecure TECHx Failed POV POV Watch

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