aboutsummaryrefslogtreecommitdiff
path: root/dbstore/dbstore_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'dbstore/dbstore_test.go')
-rw-r--r--dbstore/dbstore_test.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/dbstore/dbstore_test.go b/dbstore/dbstore_test.go
index ea5d284..2dcadfa 100644
--- a/dbstore/dbstore_test.go
+++ b/dbstore/dbstore_test.go
@@ -1005,3 +1005,31 @@ func TestAddCveFeed(t *testing.T) {
})
}
}
+
+func TestCveSearch(t *testing.T) {
+ ctx := context.Background()
+
+ tests := []string {
+ "cisco anyconnect ipc dll mobility secure",
+ }
+// [{"nvd_cve_id":"CVE-2021-1366","rank":-36.4874758136269,"description":"A vulnerability in the interprocess communication (IPC) channel of Cisco AnyConnect Secure Mobility Client for Windows could allow an authenticated, local attacker to perform a DLL hijacking attack on an affected device if the VPN Posture (HostScan) Module is installed on the AnyConnect client. This vulnerability is due to insufficient validation of resources that are loaded by the application at run time. An attacker could exploit this vulnerability by sending a crafted IPC message to the AnyConnect process. A successful exploit could allow the attacker to execute arbitrary code on the affected machine with SYSTEM privileges. To exploit this vulnerability, the attacker needs valid credentials on the Windows system."},{"nvd_cve_id":"CVE-2021-1567","rank":-34.6220092956805,"description":"A vulnerability in the DLL loading mechanism of Cisco AnyConnect Secure Mobility Client for Windows could allow an authenticated, local attacker to perform a DLL hijacking attack on an affected device if the VPN Posture (HostScan) Module is installed on the AnyConnect client. This vulnerability is due to a race condition in the signature verification process for DLL files that are loaded on an affected device. An attacker could exploit this vulnerability by sending a series of crafted interprocess communication (IPC) messages to the AnyConnect process. A successful exploit could allow the attacker to execute arbitrary code on the affected device with SYSTEM privileges. To exploit this vulnerability, the attacker must have valid credentials on the Windows system."}]
+
+ // open test db
+ db, err := Open("testdata/cvesearch-test.db")
+ if err != nil {
+ t.Error(err)
+ return
+ }
+
+ // run tests
+ for _, test := range(tests) {
+ t.Run(test, func(t *testing.T) {
+ rows, err := db.CveSearch(ctx, test)
+ if err != nil {
+ t.Error(err)
+ } else {
+ t.Errorf("success: got %v", rows)
+ }
+ })
+ }
+}