Challenge Information - KPRCA_00097

Commonly known as: CML


Rounds Enabled

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20

Details

Original Versions

Known Vulnerabilities

  • CWE-843 - Access of Resource Using Incompatible Type ('Type Confusion')
  • CWEs are listed as indicated by the challenge author.

Deployed patches

Deployed IDS rules

None

DARPA performer group

Kaprica Security (KPRCA)

Description

A flexible markup language parser with support for a featureful query language.

Feature List

A customizable parser allows the user to specify the reserved characters of the markup language. The user can adapt the language to reduce the need for esape characters, etc.

Nodes have a tag, namespace, and attributes. The name and value of the attributes can contain any character, if the user inserts an escape character. The language has a special tag, cml, that changes the namespace of child nodes, as well as providng other metadata.

Once data has been loaded into the service, the user can retrieve tag, namespace, and attributes, as well as change attributes and query for nodes in the data. The query language supports targetting ancestors, descendants, the parent, children, and siblings, and testing the tag, namespace, attribute, and index of nodes.

Vulnerability

Vuln 1

In Parser::parse (parser.cc:116) there is a type confusion vulnerability with cml nodes. During parsing, a node with a cml tag and a default namespace is special and gives the parser some extra information. However, Parser::parse fails to check the namespace in addition to the tag resulting in type confusion. An attacker can exploit this vulnerability as with a type 2 POV. A patch is either verify the namespace as well as the tag, or use the cls member.

Generic class of vulnerability

Type Confusion

CWE classification

CWE-843: Access of Resource Using Incompatible Type ('Type Confusion')

Challenges

  • Reliable tracking of types statically is difficult. The nature of the service leads to state explosion that makes symbolic execution also difficult.
  • Dynamic analysis is useful if the CRS is able to generate a test case using fuzzing or other methods.
  • Proving may require inference of the heap layout.

Difficulty

  • Discovery: hard
  • Proving: hard
  • Patching: medium

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 Watch
1 DeepRed CSDS Failed POV POV Watch
1 DeepRed Disekt Failed POV POV Watch
1 DeepRed ForAllSecure Failed POV POV Watch
1 DeepRed Shellphish Failed POV POV Watch
1 DeepRed TECHx Failed POV POV Watch
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 Disekt Failed POV through defenses POV Watch
2 CodeJitsu Shellphish Failed POV through defenses POV Watch
2 CodeJitsu TECHx 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 through defenses POV Watch
2 CSDS ForAllSecure Failed POV POV Watch
2 CSDS Shellphish Failed POV through defenses POV Watch
2 CSDS TECHx Failed POV through defenses POV Watch
2 DeepRed CodeJitsu Failed POV POV Watch
2 DeepRed CSDS Failed POV POV Watch
2 DeepRed Disekt Failed POV through defenses POV Watch
2 DeepRed ForAllSecure Failed POV POV Watch
2 DeepRed Shellphish Failed POV through defenses POV Watch
2 DeepRed TECHx Failed POV through defenses POV Watch
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 through defenses POV Watch
2 ForAllSecure Shellphish Failed POV through defenses POV Watch
2 ForAllSecure TECHx Failed POV through defenses POV Watch
3 CSDS CodeJitsu Failed POV POV Watch
3 CSDS DeepRed Failed POV POV Watch
3 CSDS Disekt Failed POV through defenses POV Watch
3 CSDS ForAllSecure Failed POV POV Watch
3 CSDS Shellphish Failed POV through defenses POV Watch
3 CSDS TECHx Failed POV through defenses POV Watch
3 DeepRed CodeJitsu Failed POV POV Watch
3 DeepRed CSDS Failed POV POV Watch
3 DeepRed Disekt Failed POV through defenses POV Watch
3 DeepRed ForAllSecure Failed POV POV Watch
3 DeepRed Shellphish Failed POV through defenses POV Watch
3 DeepRed TECHx Failed POV through defenses POV Watch
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 through defenses POV Watch
3 ForAllSecure Shellphish Failed POV through defenses POV Watch
3 ForAllSecure TECHx Failed POV through defenses POV Watch
4 CSDS CodeJitsu Failed POV POV Watch
4 CSDS DeepRed Failed POV POV Watch
4 CSDS Disekt Failed POV through defenses POV Watch
4 CSDS ForAllSecure Failed POV POV Watch
4 CSDS Shellphish Failed POV through defenses POV Watch
4 CSDS TECHx Failed POV through defenses POV Watch
4 DeepRed CodeJitsu Failed POV POV Watch
4 DeepRed CSDS Failed POV POV Watch
4 DeepRed Disekt Failed POV through defenses POV Watch
4 DeepRed ForAllSecure Failed POV POV Watch
4 DeepRed Shellphish Failed POV through defenses POV Watch
4 DeepRed TECHx Failed POV through defenses POV Watch
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 through defenses POV Watch
4 ForAllSecure Shellphish Failed POV through defenses POV Watch
4 ForAllSecure TECHx Failed POV through defenses POV Watch
5 CodeJitsu Shellphish Failed POV POV Watch
5 CodeJitsu TECHx Failed POV through defenses POV Watch
5 CSDS CodeJitsu Failed POV through defenses POV Watch
5 CSDS DeepRed Failed POV POV Watch
5 CSDS Disekt Failed POV through defenses POV Watch
5 CSDS ForAllSecure Failed POV POV Watch
5 CSDS Shellphish Failed POV POV Watch
5 CSDS TECHx Failed POV through defenses POV Watch
5 DeepRed CodeJitsu Failed POV through defenses POV Watch
5 DeepRed CSDS Failed POV POV Watch
5 DeepRed Disekt Failed POV through defenses POV Watch
5 DeepRed ForAllSecure Failed POV POV Watch
5 DeepRed Shellphish Failed POV POV Watch
5 DeepRed TECHx Failed POV through defenses POV Watch
5 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
5 ForAllSecure CSDS Failed POV POV Watch
5 ForAllSecure DeepRed Failed POV POV Watch
5 ForAllSecure Disekt Failed POV through defenses POV Watch
5 ForAllSecure Shellphish Failed POV POV Watch
5 ForAllSecure TECHx Failed POV through defenses POV Watch
6 CodeJitsu CSDS Failed POV through defenses POV Watch
6 CSDS CodeJitsu Failed POV through defenses POV Watch
6 CSDS DeepRed Failed POV POV Watch
6 CSDS Disekt Failed POV through defenses POV Watch
6 CSDS ForAllSecure Failed POV POV Watch
6 CSDS Shellphish Failed POV POV Watch
6 CSDS TECHx Failed POV through defenses POV Watch
6 DeepRed CodeJitsu Failed POV through defenses POV Watch
6 DeepRed CSDS Failed POV through defenses POV Watch
6 DeepRed Disekt Failed POV through defenses POV Watch
6 DeepRed ForAllSecure Failed POV POV Watch
6 DeepRed Shellphish Failed POV POV Watch
6 DeepRed TECHx Failed POV through defenses POV Watch
6 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
6 ForAllSecure CSDS Failed POV through defenses POV Watch
6 ForAllSecure DeepRed Failed POV POV Watch
6 ForAllSecure Disekt Failed POV through defenses POV Watch
6 ForAllSecure Shellphish Failed POV POV Watch
6 ForAllSecure TECHx Failed POV through defenses POV Watch
7 CSDS CodeJitsu Failed POV through defenses POV Watch
7 CSDS DeepRed Failed POV POV Watch
7 CSDS Disekt Failed POV through defenses POV Watch
7 CSDS ForAllSecure Failed POV POV Watch
7 CSDS Shellphish Failed POV POV Watch
7 CSDS TECHx Failed POV through defenses POV Watch
7 DeepRed CodeJitsu Failed POV through defenses POV Watch
7 DeepRed CSDS Failed POV through defenses POV Watch
7 DeepRed Disekt Failed POV through defenses POV Watch
7 DeepRed ForAllSecure Failed POV POV Watch
7 DeepRed Shellphish Failed POV POV Watch
7 DeepRed TECHx Failed POV through defenses POV Watch
7 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
7 ForAllSecure CSDS Failed POV through defenses POV Watch
7 ForAllSecure DeepRed Failed POV POV Watch
7 ForAllSecure Disekt Failed POV through defenses POV Watch
7 ForAllSecure Shellphish Failed POV POV Watch
7 ForAllSecure TECHx Failed POV through defenses POV Watch
8 CSDS CodeJitsu Failed POV through defenses 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 POV Watch
8 CSDS TECHx Failed POV through defenses POV Watch
8 DeepRed CodeJitsu Failed POV through defenses POV Watch
8 DeepRed CSDS Failed POV through defenses POV Watch
8 DeepRed Disekt Failed POV through defenses POV Watch
8 DeepRed ForAllSecure Failed POV POV Watch
8 DeepRed Shellphish Failed POV POV Watch
8 DeepRed TECHx Failed POV through defenses POV Watch
8 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
8 ForAllSecure CSDS Failed POV through defenses POV Watch
8 ForAllSecure DeepRed Failed POV POV Watch
8 ForAllSecure Disekt Failed POV through defenses POV Watch
8 ForAllSecure Shellphish Failed POV POV Watch
8 ForAllSecure TECHx Failed POV through defenses POV Watch
9 CSDS CodeJitsu Failed POV through defenses 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 POV Watch
9 CSDS TECHx Failed POV through defenses POV Watch
9 DeepRed CodeJitsu Failed POV through defenses POV Watch
9 DeepRed CSDS Failed POV through defenses POV Watch
9 DeepRed Disekt Failed POV through defenses POV Watch
9 DeepRed ForAllSecure Failed POV POV Watch
9 DeepRed Shellphish Failed POV POV Watch
9 DeepRed TECHx Failed POV through defenses POV Watch
9 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
9 ForAllSecure CSDS Failed POV through defenses POV Watch
9 ForAllSecure DeepRed Failed POV POV Watch
9 ForAllSecure Disekt Failed POV through defenses POV Watch
9 ForAllSecure Shellphish Failed POV POV Watch
9 ForAllSecure TECHx Failed POV through defenses POV Watch
10 CSDS CodeJitsu Failed POV through defenses 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 POV Watch
10 CSDS TECHx Failed POV through defenses POV Watch
10 DeepRed CodeJitsu Failed POV through defenses POV Watch
10 DeepRed CSDS Failed POV through defenses POV Watch
10 DeepRed Disekt Failed POV through defenses POV Watch
10 DeepRed ForAllSecure Failed POV POV Watch
10 DeepRed Shellphish Failed POV POV Watch
10 DeepRed TECHx Failed POV through defenses POV Watch
10 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
10 ForAllSecure CSDS Failed POV through defenses POV Watch
10 ForAllSecure DeepRed Failed POV POV Watch
10 ForAllSecure Disekt Failed POV through defenses POV Watch
10 ForAllSecure Shellphish Failed POV POV Watch
10 ForAllSecure TECHx Failed POV through defenses POV Watch
11 CSDS CodeJitsu Failed POV through defenses 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 POV Watch
11 CSDS TECHx Failed POV through defenses POV Watch
11 DeepRed CodeJitsu Failed POV through defenses POV Watch
11 DeepRed CSDS Failed POV through defenses POV Watch
11 DeepRed Disekt Failed POV through defenses POV Watch
11 DeepRed ForAllSecure Failed POV POV Watch
11 DeepRed Shellphish Failed POV POV Watch
11 DeepRed TECHx Failed POV through defenses POV Watch
11 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
11 ForAllSecure CSDS Failed POV through defenses POV Watch
11 ForAllSecure DeepRed Failed POV POV Watch
11 ForAllSecure Disekt Failed POV through defenses POV Watch
11 ForAllSecure Shellphish Failed POV POV Watch
11 ForAllSecure TECHx Failed POV through defenses POV Watch
12 CSDS CodeJitsu Failed POV through defenses 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 POV Watch
12 CSDS TECHx Failed POV through defenses POV Watch
12 DeepRed CodeJitsu Failed POV through defenses POV Watch
12 DeepRed CSDS Failed POV through defenses POV Watch
12 DeepRed Disekt Failed POV through defenses POV Watch
12 DeepRed ForAllSecure Failed POV POV Watch
12 DeepRed Shellphish Failed POV POV Watch
12 DeepRed TECHx Failed POV through defenses POV Watch
12 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
12 ForAllSecure CSDS Failed POV through defenses POV Watch
12 ForAllSecure DeepRed Failed POV POV Watch
12 ForAllSecure Disekt Failed POV through defenses POV Watch
12 ForAllSecure Shellphish Failed POV POV Watch
12 ForAllSecure TECHx Failed POV through defenses POV Watch
13 CSDS CodeJitsu Failed POV through defenses 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 POV Watch
13 CSDS TECHx Failed POV through defenses POV Watch
13 DeepRed CodeJitsu Failed POV through defenses POV Watch
13 DeepRed CSDS Failed POV through defenses POV Watch
13 DeepRed Disekt Failed POV through defenses POV Watch
13 DeepRed ForAllSecure Failed POV POV Watch
13 DeepRed Shellphish Failed POV POV Watch
13 DeepRed TECHx Failed POV through defenses POV Watch
13 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
13 ForAllSecure CSDS Failed POV through defenses POV Watch
13 ForAllSecure DeepRed Failed POV POV Watch
13 ForAllSecure Disekt Failed POV through defenses POV Watch
13 ForAllSecure Shellphish Failed POV POV Watch
13 ForAllSecure TECHx Failed POV through defenses POV Watch
14 CSDS CodeJitsu Failed POV through defenses 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 POV Watch
14 CSDS TECHx Failed POV through defenses POV Watch
14 DeepRed CodeJitsu Failed POV through defenses POV Watch
14 DeepRed CSDS Failed POV through defenses POV Watch
14 DeepRed Disekt Failed POV through defenses POV Watch
14 DeepRed ForAllSecure Failed POV POV Watch
14 DeepRed Shellphish Failed POV POV Watch
14 DeepRed TECHx Failed POV through defenses POV Watch
14 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
14 ForAllSecure CSDS Failed POV through defenses POV Watch
14 ForAllSecure DeepRed Failed POV POV Watch
14 ForAllSecure Disekt Failed POV through defenses POV Watch
14 ForAllSecure Shellphish Failed POV POV Watch
14 ForAllSecure TECHx Failed POV through defenses POV Watch
15 CSDS CodeJitsu Failed POV through defenses 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 POV Watch
15 CSDS TECHx Failed POV through defenses POV Watch
15 DeepRed CodeJitsu Failed POV through defenses POV Watch
15 DeepRed CSDS Failed POV through defenses POV Watch
15 DeepRed Disekt Failed POV through defenses POV Watch
15 DeepRed ForAllSecure Failed POV POV Watch
15 DeepRed Shellphish Failed POV POV Watch
15 DeepRed TECHx Failed POV through defenses POV Watch
15 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
15 ForAllSecure CSDS Failed POV through defenses POV Watch
15 ForAllSecure DeepRed Failed POV POV Watch
15 ForAllSecure Disekt Failed POV through defenses POV Watch
15 ForAllSecure Shellphish Failed POV POV Watch
15 ForAllSecure TECHx Failed POV through defenses POV Watch
16 CSDS CodeJitsu Failed POV through defenses POV Watch
16 CSDS DeepRed Failed POV POV Watch
16 CSDS Disekt Failed POV through defenses POV Watch
16 CSDS ForAllSecure Failed POV POV Watch
16 CSDS Shellphish Failed POV POV Watch
16 CSDS TECHx Failed POV through defenses POV Watch
16 DeepRed CodeJitsu Failed POV through defenses POV Watch
16 DeepRed CSDS Failed POV through defenses POV Watch
16 DeepRed Disekt Failed POV through defenses POV Watch
16 DeepRed ForAllSecure Failed POV POV Watch
16 DeepRed Shellphish Failed POV POV Watch
16 DeepRed TECHx Failed POV through defenses POV Watch
16 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
16 ForAllSecure CSDS Failed POV through defenses POV Watch
16 ForAllSecure DeepRed Failed POV POV Watch
16 ForAllSecure Disekt Failed POV through defenses POV Watch
16 ForAllSecure Shellphish Failed POV POV Watch
16 ForAllSecure TECHx Failed POV through defenses POV Watch
17 CSDS CodeJitsu Failed POV through defenses POV Watch
17 CSDS DeepRed Failed POV POV Watch
17 CSDS Disekt Failed POV through defenses POV Watch
17 CSDS ForAllSecure Failed POV POV Watch
17 CSDS Shellphish Failed POV POV Watch
17 CSDS TECHx Failed POV through defenses POV Watch
17 DeepRed CodeJitsu Failed POV through defenses POV Watch
17 DeepRed CSDS Failed POV through defenses POV Watch
17 DeepRed Disekt Failed POV through defenses POV Watch
17 DeepRed ForAllSecure Failed POV POV Watch
17 DeepRed Shellphish Failed POV POV Watch
17 DeepRed TECHx Failed POV through defenses POV Watch
17 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
17 ForAllSecure CSDS Failed POV through defenses POV Watch
17 ForAllSecure DeepRed Failed POV POV Watch
17 ForAllSecure Disekt Failed POV through defenses POV Watch
17 ForAllSecure Shellphish Failed POV POV Watch
17 ForAllSecure TECHx Failed POV through defenses POV Watch
18 CSDS CodeJitsu Failed POV through defenses POV Watch
18 CSDS DeepRed Failed POV POV Watch
18 CSDS Disekt Failed POV through defenses POV Watch
18 CSDS ForAllSecure Failed POV POV Watch
18 CSDS Shellphish Failed POV POV Watch
18 CSDS TECHx Failed POV through defenses POV Watch
18 DeepRed CodeJitsu Failed POV through defenses POV Watch
18 DeepRed CSDS Failed POV through defenses POV Watch
18 DeepRed Disekt Failed POV through defenses POV Watch
18 DeepRed ForAllSecure Failed POV POV Watch
18 DeepRed Shellphish Failed POV POV Watch
18 DeepRed TECHx Failed POV through defenses POV Watch
18 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
18 ForAllSecure CSDS Failed POV through defenses POV Watch
18 ForAllSecure DeepRed Failed POV POV Watch
18 ForAllSecure Disekt Failed POV through defenses POV Watch
18 ForAllSecure Shellphish Failed POV POV Watch
18 ForAllSecure TECHx Failed POV through defenses POV Watch
19 CSDS CodeJitsu Failed POV through defenses POV Watch
19 CSDS DeepRed Failed POV POV Watch
19 CSDS Disekt Failed POV through defenses POV Watch
19 CSDS ForAllSecure Failed POV POV Watch
19 CSDS Shellphish Failed POV POV Watch
19 CSDS TECHx Failed POV through defenses POV Watch
19 DeepRed CodeJitsu Failed POV through defenses POV Watch
19 DeepRed CSDS Failed POV through defenses POV Watch
19 DeepRed Disekt Failed POV through defenses POV Watch
19 DeepRed ForAllSecure Failed POV POV Watch
19 DeepRed Shellphish Failed POV POV Watch
19 DeepRed TECHx Failed POV through defenses POV Watch
19 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
19 ForAllSecure CSDS Failed POV through defenses POV Watch
19 ForAllSecure DeepRed Failed POV POV Watch
19 ForAllSecure Disekt Failed POV through defenses POV Watch
19 ForAllSecure Shellphish Failed POV POV Watch
19 ForAllSecure TECHx Failed POV through defenses POV Watch
20 CSDS CodeJitsu Failed POV through defenses POV Watch
20 CSDS DeepRed Failed POV POV Watch
20 CSDS Disekt Failed POV through defenses POV Watch
20 CSDS ForAllSecure Failed POV POV Watch
20 CSDS Shellphish Failed POV POV Watch
20 CSDS TECHx Failed POV through defenses POV Watch
20 DeepRed CodeJitsu Failed POV through defenses POV Watch
20 DeepRed CSDS Failed POV through defenses POV Watch
20 DeepRed Disekt Failed POV through defenses POV Watch
20 DeepRed ForAllSecure Failed POV POV Watch
20 DeepRed Shellphish Failed POV POV Watch
20 DeepRed TECHx Failed POV through defenses POV Watch
20 ForAllSecure CodeJitsu Failed POV through defenses POV Watch
20 ForAllSecure CSDS Failed POV through defenses POV Watch
20 ForAllSecure DeepRed Failed POV POV Watch
20 ForAllSecure Disekt Failed POV through defenses POV Watch
20 ForAllSecure Shellphish Failed POV POV Watch
20 ForAllSecure TECHx Failed POV through defenses POV Watch

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