Kaprica Security (KPRCA)
Pattern Finder is a service that user to quickly detect the presence of a set of known patterns within a blob of data.
The service first reads in a series of pattern definitions from the user. It then compiles a pattern search machine that will be used to detect patterns in subsequently data entered by the user. The user is provided with a list of detected patterns once the search machine has finished running.
In the ReportMatches function, the stack buffer where the report contents are gathered before being sent to the user is a fixed 512 bytes in size. Therefore, a stack buffer overflow is achievable given a large enough set of patterns and a data blob which contains enough of these patterns to generate a sufficiently large report.
Stack buffer overflow
CWE-121 Stack-based Buffer Overflow CWE-787 Out-of-bounds Write
The complexity behind this challenge lies within the underlying algorithm which is used to do pattern detection. The algorithm used is Aho-Corasick which is a string matching algorithm that allows for the simultaneous matching of patterns through the use of a finite state machine. The author imagines that sufficiently complex algorithms will test the strength of many code analysis engines.
Round | Source | Destination | Result | POV | Analysis | Video |
---|---|---|---|---|---|---|
59 | CSDS | CodeJitsu | Failed POV | POV | Watch | |
59 | CSDS | DeepRed | Failed POV | POV | Watch | |
59 | CSDS | Disekt | Failed POV | POV | Watch | |
59 | CSDS | ForAllSecure | Failed POV | POV | Watch | |
59 | CSDS | Shellphish | Failed POV | POV | Watch | |
59 | CSDS | TECHx | Failed POV | POV | Watch | |
59 | DeepRed | CodeJitsu | Failed POV | POV | Watch | |
59 | DeepRed | CSDS | Failed POV | POV | Watch | |
59 | DeepRed | Disekt | Failed POV | POV | Watch | |
59 | DeepRed | ForAllSecure | Failed POV | POV | Watch | |
59 | DeepRed | Shellphish | Failed POV | POV | Watch | |
59 | DeepRed | TECHx | Failed POV | POV | Watch | |
60 | CodeJitsu | Disekt | Failed POV through defenses | POV | Watch | |
60 | CSDS | CodeJitsu | Failed POV through defenses | POV | Watch | |
60 | CSDS | DeepRed | Failed POV | POV | Watch | |
60 | CSDS | Disekt | Failed POV through defenses | POV | Watch | |
60 | CSDS | ForAllSecure | Failed POV | POV | Watch | |
60 | CSDS | Shellphish | Failed POV | POV | Watch | |
60 | CSDS | TECHx | Failed POV | POV | Watch | |
60 | DeepRed | CodeJitsu | Failed POV through defenses | POV | Watch | |
60 | DeepRed | CSDS | Failed POV | POV | Watch | |
60 | DeepRed | Disekt | Failed POV through defenses | POV | Watch | |
60 | DeepRed | ForAllSecure | Failed POV | POV | Watch | |
60 | DeepRed | Shellphish | Failed POV | POV | Watch | |
60 | DeepRed | TECHx | Failed POV | POV | Watch | |
61 | CSDS | CodeJitsu | Failed POV through defenses | POV | Watch | |
61 | CSDS | DeepRed | Failed POV | POV | Watch | |
61 | CSDS | Disekt | Failed POV through defenses | POV | Watch | |
61 | CSDS | ForAllSecure | Failed POV | POV | Watch | |
61 | CSDS | Shellphish | Failed POV | POV | Watch | |
61 | CSDS | TECHx | Failed POV | POV | Watch | |
61 | DeepRed | CodeJitsu | Failed POV through defenses | POV | Watch | |
61 | DeepRed | CSDS | Failed POV | POV | Watch | |
61 | DeepRed | Disekt | Failed POV through defenses | POV | Watch | |
61 | DeepRed | ForAllSecure | Failed POV | POV | Watch | |
61 | DeepRed | Shellphish | Failed POV | POV | Watch | |
61 | DeepRed | TECHx | Failed POV | POV | Watch | |
62 | CodeJitsu | Shellphish | Failed POV through defenses | POV | Watch | |
62 | CSDS | CodeJitsu | Failed POV through defenses | POV | Watch | |
62 | CSDS | DeepRed | Failed POV | POV | Watch | |
62 | CSDS | Disekt | Failed POV through defenses | POV | Watch | |
62 | CSDS | ForAllSecure | Failed POV | POV | Watch | |
62 | CSDS | Shellphish | Failed POV through defenses | POV | Watch | |
62 | CSDS | TECHx | Failed POV | POV | Watch | |
62 | DeepRed | CodeJitsu | Failed POV through defenses | POV | Watch | |
62 | DeepRed | CSDS | Failed POV | POV | Watch | |
62 | DeepRed | Disekt | Failed POV through defenses | POV | Watch | |
62 | DeepRed | ForAllSecure | Failed POV | POV | Watch | |
62 | DeepRed | Shellphish | Failed POV through defenses | POV | Watch | |
62 | DeepRed | TECHx | Failed POV | POV | Watch | |
63 | CodeJitsu | Disekt | Failed POV through defenses | POV | Watch | |
63 | CSDS | CodeJitsu | Failed POV through defenses | POV | Watch | |
63 | CSDS | DeepRed | Failed POV | POV | Watch | |
63 | CSDS | Disekt | Failed POV through defenses | POV | Watch | |
63 | CSDS | ForAllSecure | Failed POV | POV | Watch | |
63 | CSDS | Shellphish | Failed POV through defenses | POV | Watch | |
63 | CSDS | TECHx | Failed POV | POV | Watch | |
63 | DeepRed | CodeJitsu | Failed POV through defenses | POV | Watch | |
63 | DeepRed | CSDS | Failed POV | POV | Watch | |
63 | DeepRed | Disekt | Failed POV through defenses | POV | Watch | |
63 | DeepRed | ForAllSecure | Failed POV | POV | Watch | |
63 | DeepRed | Shellphish | Failed POV through defenses | POV | Watch | |
63 | DeepRed | TECHx | Failed POV | POV | Watch | |
64 | CodeJitsu | Disekt | Failed POV through defenses | POV | Watch | |
64 | CSDS | CodeJitsu | Failed POV through defenses | POV | Watch | |
64 | CSDS | DeepRed | Failed POV | POV | Watch | |
64 | CSDS | Disekt | Failed POV through defenses | POV | Watch | |
64 | CSDS | ForAllSecure | Failed POV | POV | Watch | |
64 | CSDS | Shellphish | Failed POV through defenses | POV | Watch | |
64 | CSDS | TECHx | Failed POV | POV | Watch | |
64 | DeepRed | CodeJitsu | Failed POV through defenses | POV | Watch | |
64 | DeepRed | CSDS | Failed POV | POV | Watch | |
64 | DeepRed | Disekt | Failed POV through defenses | POV | Watch | |
64 | DeepRed | ForAllSecure | Failed POV | POV | Watch | |
64 | DeepRed | Shellphish | Failed POV through defenses | POV | Watch | |
64 | DeepRed | TECHx | Failed POV | POV | Watch | |
64 | Disekt | CodeJitsu | Failed POV through defenses | POV | Watch | |
64 | Disekt | CSDS | Failed POV | POV | Watch | |
64 | Disekt | DeepRed | Failed POV | POV | Watch | |
64 | Disekt | ForAllSecure | Failed POV | POV | Watch | |
64 | Disekt | Shellphish | Failed POV through defenses | POV | Watch | |
64 | Disekt | TECHx | Failed POV | POV | Watch | |
65 | CodeJitsu | Shellphish | Failed POV | POV | Watch | |
65 | CSDS | CodeJitsu | Failed POV through defenses | POV | Watch | |
65 | CSDS | DeepRed | Failed POV | POV | Watch | |
65 | CSDS | Disekt | Failed POV through defenses | POV | Watch | |
65 | CSDS | ForAllSecure | Failed POV | POV | Watch | |
65 | CSDS | Shellphish | Failed POV | POV | Watch | |
65 | CSDS | TECHx | Failed POV | POV | Watch | |
65 | DeepRed | CodeJitsu | Failed POV through defenses | POV | Watch | |
65 | DeepRed | CSDS | Failed POV | POV | Watch | |
65 | DeepRed | Disekt | Failed POV through defenses | POV | Watch | |
65 | DeepRed | ForAllSecure | Failed POV | POV | Watch | |
65 | DeepRed | Shellphish | Failed POV | POV | Watch | |
65 | DeepRed | TECHx | Failed POV | POV | Watch | |
65 | Disekt | CodeJitsu | Failed POV through defenses | POV | Watch | |
65 | Disekt | CSDS | Failed POV | POV | Watch | |
65 | Disekt | DeepRed | Failed POV | POV | Watch | |
65 | Disekt | ForAllSecure | Failed POV | POV | Watch | |
65 | Disekt | Shellphish | Failed POV | POV | Watch | |
65 | Disekt | TECHx | Failed POV | POV | Watch | |
66 | CSDS | CodeJitsu | Failed POV through defenses | POV | Watch | |
66 | CSDS | DeepRed | Failed POV | POV | Watch | |
66 | CSDS | Disekt | Failed POV through defenses | POV | Watch | |
66 | CSDS | ForAllSecure | Failed POV | POV | Watch | |
66 | CSDS | Shellphish | Failed POV | POV | Watch | |
66 | CSDS | TECHx | Failed POV | POV | Watch | |
66 | DeepRed | CodeJitsu | Failed POV through defenses | POV | Watch | |
66 | DeepRed | CSDS | Failed POV | POV | Watch | |
66 | DeepRed | Disekt | Failed POV through defenses | POV | Watch | |
66 | DeepRed | ForAllSecure | Failed POV | POV | Watch | |
66 | DeepRed | Shellphish | Failed POV | POV | Watch | |
66 | DeepRed | TECHx | Failed POV | POV | Watch | |
66 | Disekt | CodeJitsu | Failed POV through defenses | POV | Watch | |
66 | Disekt | CSDS | Failed POV | POV | Watch | |
66 | Disekt | DeepRed | Failed POV | POV | Watch | |
66 | Disekt | ForAllSecure | Failed POV | POV | Watch | |
66 | Disekt | Shellphish | Failed POV | POV | Watch | |
66 | Disekt | TECHx | Failed POV | POV | Watch | |
67 | CSDS | CodeJitsu | Failed POV through defenses | POV | Watch | |
67 | CSDS | DeepRed | Failed POV | POV | Watch | |
67 | CSDS | Disekt | Failed POV through defenses | POV | Watch | |
67 | CSDS | ForAllSecure | Failed POV | POV | Watch | |
67 | CSDS | Shellphish | Failed POV | POV | Watch | |
67 | CSDS | TECHx | Failed POV | POV | Watch | |
67 | DeepRed | CodeJitsu | Failed POV through defenses | POV | Watch | |
67 | DeepRed | CSDS | Failed POV | POV | Watch | |
67 | DeepRed | Disekt | Failed POV through defenses | POV | Watch | |
67 | DeepRed | ForAllSecure | Failed POV | POV | Watch | |
67 | DeepRed | Shellphish | Failed POV | POV | Watch | |
67 | DeepRed | TECHx | Failed POV | POV | Watch | |
67 | Disekt | CodeJitsu | Failed POV through defenses | POV | Watch | |
67 | Disekt | CSDS | Failed POV | POV | Watch | |
67 | Disekt | DeepRed | Failed POV | POV | Watch | |
67 | Disekt | ForAllSecure | Failed POV | POV | Watch | |
67 | Disekt | Shellphish | Failed POV | POV | Watch | |
67 | Disekt | TECHx | Failed POV | POV | Watch | |
68 | CSDS | CodeJitsu | Failed POV through defenses | POV | Watch | |
68 | CSDS | DeepRed | Failed POV | POV | Watch | |
68 | CSDS | Disekt | Failed POV through defenses | POV | Watch | |
68 | CSDS | ForAllSecure | Failed POV | POV | Watch | |
68 | CSDS | Shellphish | Failed POV | POV | Watch | |
68 | CSDS | TECHx | Failed POV | POV | Watch | |
68 | DeepRed | CodeJitsu | Failed POV through defenses | POV | Watch | |
68 | DeepRed | CSDS | Failed POV | POV | Watch | |
68 | DeepRed | Disekt | Failed POV through defenses | POV | Watch | |
68 | DeepRed | ForAllSecure | Failed POV | POV | Watch | |
68 | DeepRed | Shellphish | Failed POV | POV | Watch | |
68 | DeepRed | TECHx | Failed POV | POV | Watch | |
68 | Disekt | CodeJitsu | Failed POV through defenses | POV | Watch | |
68 | Disekt | CSDS | Failed POV | POV | Watch | |
68 | Disekt | DeepRed | Failed POV | POV | Watch | |
68 | Disekt | ForAllSecure | Failed POV | POV | Watch | |
68 | Disekt | Shellphish | Failed POV | POV | Watch | |
68 | Disekt | TECHx | Failed POV | POV | Watch | |
69 | CSDS | CodeJitsu | Failed POV through defenses | POV | Watch | |
69 | CSDS | DeepRed | Failed POV | POV | Watch | |
69 | CSDS | Disekt | Failed POV through defenses | POV | Watch | |
69 | CSDS | ForAllSecure | Failed POV | POV | Watch | |
69 | CSDS | Shellphish | Failed POV | POV | Watch | |
69 | CSDS | TECHx | Failed POV | POV | Watch | |
69 | DeepRed | CodeJitsu | Failed POV through defenses | POV | Watch | |
69 | DeepRed | CSDS | Failed POV | POV | Watch | |
69 | DeepRed | Disekt | Failed POV through defenses | POV | Watch | |
69 | DeepRed | ForAllSecure | Failed POV | POV | Watch | |
69 | DeepRed | Shellphish | Failed POV | POV | Watch | |
69 | DeepRed | TECHx | Failed POV | POV | Watch | |
69 | Disekt | CodeJitsu | Failed POV through defenses | POV | Watch | |
69 | Disekt | CSDS | Failed POV | POV | Watch | |
69 | Disekt | DeepRed | Failed POV | POV | Watch | |
69 | Disekt | ForAllSecure | Failed POV | POV | Watch | |
69 | Disekt | Shellphish | Failed POV | POV | Watch | |
69 | Disekt | TECHx | Failed POV | POV | Watch | |
70 | CSDS | CodeJitsu | Failed POV through defenses | POV | Watch | |
70 | CSDS | DeepRed | Failed POV | POV | Watch | |
70 | CSDS | Disekt | Failed POV through defenses | POV | Watch | |
70 | CSDS | ForAllSecure | Failed POV | POV | Watch | |
70 | CSDS | Shellphish | Failed POV | POV | Watch | |
70 | CSDS | TECHx | Failed POV | POV | Watch | |
70 | DeepRed | CodeJitsu | Failed POV through defenses | POV | Watch | |
70 | DeepRed | CSDS | Failed POV | POV | Watch | |
70 | DeepRed | Disekt | Failed POV through defenses | POV | Watch | |
70 | DeepRed | ForAllSecure | Failed POV | POV | Watch | |
70 | DeepRed | Shellphish | Failed POV | POV | Watch | |
70 | DeepRed | TECHx | Failed POV | POV | Watch | |
70 | Disekt | CodeJitsu | Failed POV through defenses | POV | Watch | |
70 | Disekt | CSDS | Failed POV | POV | Watch | |
70 | Disekt | DeepRed | Failed POV | POV | Watch | |
70 | Disekt | ForAllSecure | Failed POV | POV | Watch | |
70 | Disekt | Shellphish | Failed POV | POV | Watch | |
70 | Disekt | TECHx | Failed POV | POV | Watch | |
71 | CSDS | CodeJitsu | Failed POV through defenses | POV | Watch | |
71 | CSDS | DeepRed | Failed POV | POV | Watch | |
71 | CSDS | Disekt | Failed POV through defenses | POV | Watch | |
71 | CSDS | ForAllSecure | Failed POV | POV | Watch | |
71 | CSDS | Shellphish | Failed POV | POV | Watch | |
71 | CSDS | TECHx | Failed POV | POV | Watch | |
71 | DeepRed | CodeJitsu | Failed POV through defenses | POV | Watch | |
71 | DeepRed | CSDS | Failed POV | POV | Watch | |
71 | DeepRed | Disekt | Failed POV through defenses | POV | Watch | |
71 | DeepRed | ForAllSecure | Failed POV | POV | Watch | |
71 | DeepRed | Shellphish | Failed POV | POV | Watch | |
71 | DeepRed | TECHx | Failed POV | POV | Watch | |
71 | Disekt | CodeJitsu | Failed POV through defenses | POV | Watch | |
71 | Disekt | CSDS | Failed POV | POV | Watch | |
71 | Disekt | DeepRed | Failed POV | POV | Watch | |
71 | Disekt | ForAllSecure | Failed POV | POV | Watch | |
71 | Disekt | Shellphish | Failed POV | POV | Watch | |
71 | Disekt | TECHx | Failed POV | POV | Watch | |
72 | CSDS | CodeJitsu | Failed POV through defenses | POV | Watch | |
72 | CSDS | DeepRed | Failed POV | POV | Watch | |
72 | CSDS | Disekt | Failed POV through defenses | POV | Watch | |
72 | CSDS | ForAllSecure | Failed POV | POV | Watch | |
72 | CSDS | Shellphish | Failed POV | POV | Watch | |
72 | CSDS | TECHx | Failed POV | POV | Watch | |
72 | DeepRed | CodeJitsu | Failed POV through defenses | POV | Watch | |
72 | DeepRed | CSDS | Failed POV | POV | Watch | |
72 | DeepRed | Disekt | Failed POV through defenses | POV | Watch | |
72 | DeepRed | ForAllSecure | Failed POV | POV | Watch | |
72 | DeepRed | Shellphish | Failed POV | POV | Watch | |
72 | DeepRed | TECHx | Failed POV | POV | Watch | |
72 | Disekt | CodeJitsu | Failed POV through defenses | POV | Watch | |
72 | Disekt | CSDS | Failed POV | POV | Watch | |
72 | Disekt | DeepRed | Failed POV | POV | Watch | |
72 | Disekt | ForAllSecure | Failed POV | POV | Watch | |
72 | Disekt | Shellphish | Failed POV | POV | Watch | |
72 | Disekt | TECHx | Failed POV | POV | Watch |
Curated by Lunge Technology, LLC. Questions or comments? Send us email