Kaprica Security (KPRCA)
A custom language interpreter implementing a simple calculator service. The service lets a user insert and retrieve numbers, perform arithmetic on the numbers, and access a RNG.
While the service is very simple, the language it is implemented in is very featureful. The language includes support for dynamic types, arrays, while loops, conditionals, scoping, and procedures. The library can be easily extended by adding additional external functions written in C, or by creating whole new types similiar to the current array support.
Current library functions:
In Array::set and Array::get, the library does not properly handle INT32_MIN (0x80000000). This results in some integer overflows which will lead to a trivial heap overflow.
In the POV, we utilize the bug in Array::set to cause the allocated buffer to be small but the number of allocated items to be large. Then we use Array::get to read the password variable that is on the heap. This results in a type 2 exploit.
Heap Corruption
CWE-680: Integer Overflow to Buffer Overflow
Round | Source | Destination | Result | POV | Analysis | Video |
---|---|---|---|---|---|---|
20 | CSDS | Disekt | Failed POV | POV | Watch | |
20 | CSDS | ForAllSecure | Failed POV | POV | Watch | |
20 | CSDS | Shellphish | Failed POV | 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 | 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 | POV | Watch | |
20 | ForAllSecure | TECHx | Failed POV | POV | Watch | |
21 | CSDS | CodeJitsu | Failed POV through defenses | POV | ||
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 | POV | Watch | |
21 | CSDS | TECHx | Failed POV | POV | Watch | |
21 | DeepRed | CodeJitsu | Failed POV through defenses | POV | ||
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 | POV | Watch | |
21 | DeepRed | TECHx | Failed POV | POV | Watch | |
21 | ForAllSecure | CodeJitsu | Failed POV through defenses | POV | ||
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 | POV | Watch | |
21 | ForAllSecure | TECHx | Failed POV | POV | Watch | |
22 | CodeJitsu | Shellphish | Failed POV through defenses | POV | Watch | |
22 | CSDS | CodeJitsu | Failed POV through defenses | POV | ||
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 through defenses | POV | ||
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 through defenses | POV | ||
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 | CSDS | CodeJitsu | Failed POV through defenses | POV | ||
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 | CSDS | TECHx | Failed POV | POV | Watch | |
23 | DeepRed | CodeJitsu | Failed POV through defenses | POV | ||
23 | DeepRed | CSDS | Failed POV | 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 | DeepRed | TECHx | Failed POV | POV | Watch | |
23 | ForAllSecure | CodeJitsu | Failed POV through defenses | POV | ||
23 | ForAllSecure | CSDS | Failed POV | 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 | |
23 | ForAllSecure | TECHx | Failed POV | POV | Watch | |
24 | CSDS | CodeJitsu | Failed POV through defenses | POV | ||
24 | CSDS | DeepRed | Failed POV | 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 | POV | Watch | |
24 | DeepRed | CodeJitsu | Failed POV through defenses | POV | ||
24 | DeepRed | CSDS | Failed POV | 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 | POV | Watch | |
24 | ForAllSecure | CodeJitsu | Failed POV through defenses | POV | ||
24 | ForAllSecure | CSDS | Failed POV | POV | Watch | |
24 | ForAllSecure | DeepRed | Failed POV | POV | Watch | |
24 | ForAllSecure | Disekt | Failed POV | POV | Watch | |
24 | ForAllSecure | Shellphish | Failed POV through defenses | POV | Watch | |
24 | ForAllSecure | TECHx | Failed POV | POV | Watch | |
25 | CSDS | CodeJitsu | Failed POV through defenses | POV | ||
25 | CSDS | DeepRed | Failed POV | 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 | POV | Watch | |
25 | DeepRed | CodeJitsu | Failed POV through defenses | POV | ||
25 | DeepRed | CSDS | Failed POV | 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 | POV | Watch | |
25 | ForAllSecure | CodeJitsu | Failed POV through defenses | POV | ||
25 | ForAllSecure | CSDS | Failed POV | POV | Watch | |
25 | ForAllSecure | DeepRed | Failed POV | POV | Watch | |
25 | ForAllSecure | Disekt | Failed POV | POV | Watch | |
25 | ForAllSecure | Shellphish | Failed POV through defenses | POV | Watch | |
25 | ForAllSecure | TECHx | Failed POV | POV | Watch | |
26 | CSDS | CodeJitsu | Failed POV through defenses | POV | ||
26 | CSDS | DeepRed | Failed POV | 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 | POV | Watch | |
26 | DeepRed | CodeJitsu | Failed POV through defenses | POV | ||
26 | DeepRed | CSDS | Failed POV | 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 | POV | Watch | |
26 | ForAllSecure | CodeJitsu | Failed POV through defenses | POV | ||
26 | ForAllSecure | CSDS | Failed POV | POV | Watch | |
26 | ForAllSecure | DeepRed | Failed POV | POV | Watch | |
26 | ForAllSecure | Disekt | Failed POV | POV | Watch | |
26 | ForAllSecure | Shellphish | Failed POV through defenses | POV | Watch | |
26 | ForAllSecure | TECHx | Failed POV | POV | Watch | |
27 | CSDS | CodeJitsu | Failed POV through defenses | POV | ||
27 | CSDS | DeepRed | Failed POV | 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 | POV | Watch | |
27 | DeepRed | CodeJitsu | Failed POV through defenses | POV | ||
27 | DeepRed | CSDS | Failed POV | 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 | POV | Watch | |
27 | ForAllSecure | CodeJitsu | Failed POV through defenses | POV | ||
27 | ForAllSecure | CSDS | Failed POV | POV | Watch | |
27 | ForAllSecure | DeepRed | Failed POV | POV | Watch | |
27 | ForAllSecure | Disekt | Failed POV | POV | Watch | |
27 | ForAllSecure | Shellphish | Failed POV through defenses | POV | Watch | |
27 | ForAllSecure | TECHx | Failed POV | POV | Watch | |
28 | CSDS | CodeJitsu | Failed POV through defenses | POV | ||
28 | CSDS | DeepRed | Failed POV | 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 | POV | Watch | |
28 | DeepRed | CodeJitsu | Failed POV through defenses | POV | ||
28 | DeepRed | CSDS | Failed POV | 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 | POV | Watch | |
28 | ForAllSecure | CodeJitsu | Failed POV through defenses | POV | ||
28 | ForAllSecure | CSDS | Failed POV | POV | Watch | |
28 | ForAllSecure | DeepRed | Failed POV | POV | Watch | |
28 | ForAllSecure | Disekt | Failed POV | POV | Watch | |
28 | ForAllSecure | Shellphish | Failed POV through defenses | POV | Watch | |
28 | ForAllSecure | TECHx | Failed POV | POV | Watch | |
29 | CSDS | CodeJitsu | Failed POV through defenses | POV | ||
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 | POV | Watch | |
29 | DeepRed | CodeJitsu | Failed POV through defenses | POV | ||
29 | DeepRed | CSDS | Failed POV | 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 | POV | Watch | |
29 | ForAllSecure | CodeJitsu | Failed POV through defenses | POV | ||
29 | ForAllSecure | CSDS | 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 | POV | Watch | |
30 | CSDS | CodeJitsu | Failed POV | POV | Watch | |
30 | CSDS | DeepRed | Failed POV through defenses | POV | Watch | |
30 | CSDS | Disekt | Failed POV | POV | Watch | |
30 | CSDS | ForAllSecure | Failed POV | POV | Watch | |
30 | CSDS | Shellphish | Failed POV through defenses | POV | Watch | |
30 | CSDS | TECHx | Failed POV | POV | Watch | |
30 | DeepRed | CodeJitsu | Failed POV | POV | Watch | |
30 | DeepRed | CSDS | Failed POV | POV | Watch | |
30 | DeepRed | Disekt | Failed POV | POV | Watch | |
30 | DeepRed | ForAllSecure | Failed POV | POV | Watch | |
30 | DeepRed | Shellphish | Failed POV through defenses | POV | Watch | |
30 | DeepRed | TECHx | Failed POV | POV | Watch | |
30 | ForAllSecure | CodeJitsu | Failed POV | POV | Watch | |
30 | ForAllSecure | CSDS | Failed POV | POV | Watch | |
30 | ForAllSecure | DeepRed | Failed POV through defenses | POV | Watch | |
30 | ForAllSecure | Disekt | Failed POV | POV | Watch | |
30 | ForAllSecure | Shellphish | Failed POV through defenses | POV | Watch | |
30 | ForAllSecure | TECHx | Failed POV | POV | Watch | |
31 | CSDS | CodeJitsu | Failed POV through defenses | POV | ||
31 | CSDS | DeepRed | Failed POV through defenses | POV | Watch | |
31 | CSDS | Disekt | Failed POV | POV | Watch | |
31 | CSDS | ForAllSecure | Failed POV | POV | Watch | |
31 | CSDS | Shellphish | Failed POV through defenses | POV | Watch | |
31 | CSDS | TECHx | Failed POV | POV | Watch | |
31 | DeepRed | CodeJitsu | Failed POV through defenses | POV | ||
31 | DeepRed | CSDS | Failed POV | POV | Watch | |
31 | DeepRed | Disekt | Failed POV | POV | Watch | |
31 | DeepRed | ForAllSecure | Failed POV | POV | Watch | |
31 | DeepRed | Shellphish | Failed POV through defenses | POV | Watch | |
31 | DeepRed | TECHx | Failed POV | POV | Watch | |
31 | ForAllSecure | CodeJitsu | Failed POV through defenses | POV | ||
31 | ForAllSecure | CSDS | Failed POV | POV | Watch | |
31 | ForAllSecure | DeepRed | Failed POV through defenses | POV | Watch | |
31 | ForAllSecure | Disekt | Failed POV | POV | Watch | |
31 | ForAllSecure | Shellphish | Failed POV through defenses | POV | Watch | |
31 | ForAllSecure | TECHx | Failed POV | POV | Watch | |
32 | CSDS | CodeJitsu | Failed POV | POV | Watch | |
32 | CSDS | DeepRed | Failed POV through defenses | POV | Watch | |
32 | CSDS | Disekt | Failed POV | POV | Watch | |
32 | CSDS | ForAllSecure | Failed POV | POV | Watch | |
32 | CSDS | Shellphish | Failed POV through defenses | POV | Watch | |
32 | CSDS | TECHx | Failed POV | POV | Watch | |
32 | DeepRed | CodeJitsu | Failed POV | POV | Watch | |
32 | DeepRed | CSDS | Failed POV | POV | Watch | |
32 | DeepRed | Disekt | Failed POV | POV | Watch | |
32 | DeepRed | ForAllSecure | Failed POV | POV | Watch | |
32 | DeepRed | Shellphish | Failed POV through defenses | POV | Watch | |
32 | DeepRed | TECHx | Failed POV | POV | Watch | |
32 | ForAllSecure | CodeJitsu | Failed POV | POV | Watch | |
32 | ForAllSecure | CSDS | Failed POV | POV | Watch | |
32 | ForAllSecure | DeepRed | Failed POV through defenses | POV | Watch | |
32 | ForAllSecure | Disekt | Failed POV | POV | Watch | |
32 | ForAllSecure | Shellphish | Failed POV through defenses | POV | Watch | |
32 | ForAllSecure | TECHx | Failed POV | POV | Watch | |
33 | CodeJitsu | Disekt | Failed POV through defenses | POV | Watch | |
33 | CSDS | CodeJitsu | Failed POV through defenses | POV | ||
33 | CSDS | DeepRed | Failed POV through defenses | POV | Watch | |
33 | CSDS | Disekt | Failed POV through defenses | POV | Watch | |
33 | CSDS | ForAllSecure | Failed POV | POV | Watch | |
33 | CSDS | Shellphish | Failed POV through defenses | POV | Watch | |
33 | CSDS | TECHx | Failed POV | POV | Watch | |
33 | DeepRed | CodeJitsu | Failed POV through defenses | POV | ||
33 | DeepRed | CSDS | Failed POV | POV | Watch | |
33 | DeepRed | Disekt | Failed POV through defenses | POV | Watch | |
33 | DeepRed | ForAllSecure | Failed POV | POV | Watch | |
33 | DeepRed | Shellphish | Failed POV through defenses | POV | Watch | |
33 | DeepRed | TECHx | Failed POV | POV | Watch | |
33 | ForAllSecure | CodeJitsu | Failed POV through defenses | POV | ||
33 | ForAllSecure | CSDS | Failed POV | POV | Watch | |
33 | ForAllSecure | DeepRed | Failed POV through defenses | POV | Watch | |
33 | ForAllSecure | Disekt | Failed POV through defenses | POV | Watch | |
33 | ForAllSecure | Shellphish | Failed POV through defenses | POV | Watch | |
33 | ForAllSecure | TECHx | Failed POV | POV | Watch |
Curated by Lunge Technology, LLC. Questions or comments? Send us email