Skip to content

Commit 8a2e0e8

Browse files
committed
Update OSV affected_version_range to prioritize explicit versions, then last_known_affected_version_range, and finally range-based versions
Signed-off-by: ziad hany <[email protected]>
1 parent 8ec85fa commit 8a2e0e8

File tree

11 files changed

+28
-178
lines changed

11 files changed

+28
-178
lines changed

vulnerabilities/importers/osv_v2.py

Lines changed: 18 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -147,17 +147,33 @@ def parse_advisory_data_v3(
147147
except Exception as e:
148148
logger.error(f"Failed to build VersionRange for {advisory_id}: {e}")
149149

150+
explicit_affected_range = get_explicit_affected_range(
151+
affected_pkg=affected_pkg,
152+
raw_id=advisory_id,
153+
supported_ecosystem=purl.type,
154+
)
155+
156+
explicit_last_known = get_last_known_affected_range(
157+
affected_pkg=affected_pkg,
158+
raw_id=advisory_id,
159+
supported_ecosystem=purl.type,
160+
)
161+
162+
final_affected_range = (
163+
explicit_affected_range or explicit_last_known or affected_version_range
164+
)
165+
150166
if (
151167
fixed_version_range
152-
or affected_version_range
168+
or final_affected_range
153169
or fixed_by_commit_patches
154170
or introduced_by_commit_patches
155171
):
156172
try:
157173
affected_packages.append(
158174
AffectedPackageV2(
159175
package=purl,
160-
affected_version_range=affected_version_range,
176+
affected_version_range=final_affected_range,
161177
fixed_version_range=fixed_version_range,
162178
fixed_by_commit_patches=fixed_by_commit_patches,
163179
introduced_by_commit_patches=introduced_by_commit_patches,
@@ -166,32 +182,6 @@ def parse_advisory_data_v3(
166182
except Exception as e:
167183
logger.error(f"Invalid AffectedPackageV2 {e} for {advisory_id}")
168184

169-
explicit_affected_range = get_explicit_affected_range(
170-
affected_pkg=affected_pkg,
171-
raw_id=advisory_id,
172-
supported_ecosystem=purl.type,
173-
)
174-
if explicit_affected_range:
175-
affected_packages.append(
176-
AffectedPackageV2(
177-
package=purl,
178-
affected_version_range=explicit_affected_range,
179-
)
180-
)
181-
182-
explicit_last_known_affected_range = get_last_known_affected_range(
183-
affected_pkg=affected_pkg,
184-
raw_id=advisory_id,
185-
supported_ecosystem=purl.type,
186-
)
187-
if explicit_last_known_affected_range:
188-
affected_packages.append(
189-
AffectedPackageV2(
190-
package=purl,
191-
affected_version_range=explicit_last_known_affected_range,
192-
)
193-
)
194-
195185
database_specific = raw_data.get("database_specific") or {}
196186
cwe_ids = database_specific.get("cwe_ids") or []
197187
weaknesses = list(map(get_cwe_id, cwe_ids))

vulnerabilities/tests/test_data/osv_test/github/github-expected-1.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"aliases": [
44
"CVE-2023-49921"
55
],
6-
"summary": "Elasticsearch Insertion of Sensitive Information into Log File\nAn issue was discovered by Elastic whereby Watcher search input logged the search query results on DEBUG log level. This could lead to raw contents of documents stored in Elasticsearch to be printed in logs. Elastic has released 8.11.2 and 7.17.16 that resolves this issue by removing this excessive logging. This issue only affects users that use Watcher and have a Watch defined that uses the search input and additionally have set the search input’s logger to DEBUG or finer, for example using: org.elasticsearch.xpack.watcher.input.search, org.elasticsearch.xpack.watcher.input, org.elasticsearch.xpack.watcher, or wider, since the loggers are hierarchical.",
6+
"summary": "Elasticsearch Insertion of Sensitive Information into Log File\nAn issue was discovered by Elastic whereby Watcher search input logged the search query results on DEBUG log level. This could lead to raw contents of documents stored in Elasticsearch to be printed in logs. Elastic has released 8.11.2 and 7.17.16 that resolves this issue by removing this excessive logging. This issue only affects users that use Watcher and have a Watch defined that uses the search input and additionally have set the search input\u2019s logger to DEBUG or finer, for example using: org.elasticsearch.xpack.watcher.input.search, org.elasticsearch.xpack.watcher.input, org.elasticsearch.xpack.watcher, or wider, since the loggers are hierarchical.",
77
"affected_packages": [
88
{
99
"package": {

vulnerabilities/tests/test_data/osv_test/github/github-expected-2.json

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,6 @@
55
],
66
"summary": "OpenSTAManager has Authenticated SQL Injection in API via 'display' parameter\n### Summary\nAn authenticated SQL Injection vulnerability in the API allows any user, regardless of permission level, to execute arbitrary SQL queries. By manipulating the `display` parameter in an API request, an attacker can exfiltrate, modify, or delete any data in the database, leading to a full system compromise.\n\n### Details\nThe vulnerability is located in the `retrieve()` method within `src/API/Manager.php`.\n\nUser input from the `display` GET parameter is processed without proper validation. The code strips the surrounding brackets `[]`, splits the string by commas, and then passes each resulting element directly into the `selectRaw()` function of the query builder.\n\n```php\n// User input from 'display' is taken without sanitization.\n$select = !empty($request['display']) ? explode(',', substr((string) $request['display'], 1, -1)) : null;\n\n// ...\n\n// The unsanitized input is passed directly to `selectRaw()`.\nforeach ($select as $s) {\n $query->selectRaw($s);\n}\n```\n\nSince `selectRaw()` is designed to execute raw SQL expressions, it executes any malicious SQL code provided in the `display` parameter.\n\n### PoC\n1. Log in to an OpenSTAManager instance as any user.\n2. Navigate to the user's profile page to obtain their personal API Token.\n3. Use this API token to send a specially crafted GET request to the API endpoint.\n\n**Time-Based Blind Injection Test:**\n\nReplace `<your_host>`, `<your_token>`, and `<resource_name>` with your actual values. `anagrafiche` is a valid resource.\n\n```bash\ncurl \"http://<your_host>/openstamanager/api?token=<your_token>&resource=anagrafiche&display=[1,SLEEP(5)]\"\n```\n\nThe server will delay its response by approximately 5 seconds, confirming the `SLEEP(5)` command was executed by the database.\n\n### Impact\nThis is a critical SQL Injection vulnerability. Any authenticated user, even those with the lowest privileges, can exploit this vulnerability to:\n\n* **Exfiltrate all data** from the database (e.g., user credentials, customer information, invoices, internal data).\n* **Modify or delete data**, compromising data integrity.\n* Potentially achieve further system compromise, depending on the database user's privileges and system configuration.",
77
"affected_packages": [
8-
{
9-
"package": {
10-
"type": "composer",
11-
"namespace": "devcode-it",
12-
"name": "openstamanager",
13-
"version": "",
14-
"qualifiers": "",
15-
"subpath": ""
16-
},
17-
"affected_version_range": "vers:composer/<2.9.5",
18-
"fixed_version_range": "vers:composer/2.9.5",
19-
"introduced_by_commit_patches": [],
20-
"fixed_by_commit_patches": []
21-
},
228
{
239
"package": {
2410
"type": "composer",
@@ -29,7 +15,7 @@
2915
"subpath": ""
3016
},
3117
"affected_version_range": "vers:composer/<=2.9.4",
32-
"fixed_version_range": null,
18+
"fixed_version_range": "vers:composer/2.9.5",
3319
"introduced_by_commit_patches": [],
3420
"fixed_by_commit_patches": []
3521
}

vulnerabilities/tests/test_data/osv_test/github/github-expected-3.json

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,6 @@
33
"aliases": [],
44
"summary": "Memory exhaustion in http4s-async-http-client with large or malicious compressed responses\n### Impact\nA server we connect to with http4s-async-http-client could theoretically respond with a large or malicious compressed stream and exhaust memory in the client JVM. It does not affect http4s servers, other client backends, or clients that speak only to trusted servers. This is related to a transitive dependency on netty-codec-4.1.45.Final, which is affected by [CVE-2020-11612](https://app.snyk.io/vuln/SNYK-JAVA-IONETTY-564897).\n\n### Patches\nUpgrade to http4s-async-http-client >= 0.21.8. All 1.0 milestones are also safe.\n\n### Workarounds\nAdd an explicit runtime dependency on async-http-client's netty dependencies that evicts them to an unaffected version:\n\n```scala\nlibraryDependencies ++= Seq(\n \"io.netty\" % \"netty-codec\" % \"4.1.53.Final\" % Runtime,\n \"io.netty\" % \"netty-codec-socks\" % \"4.1.53.Final\" % Runtime,\n \"io.netty\" % \"netty-handler-proxy\" % \"4.1.53.Final\" % Runtime,\n \"io.netty\" % \"netty-common\" % \"4.1.53.Final\" % Runtime,\n \"io.netty\" % \"netty-transport\" % \"4.1.53.Final\" % Runtime,\n \"io.netty\" % \"netty-handler\" % \"4.1.53.Final\" % Runtime,\n \"io.netty\" % \"netty-resolver-dns\" % \"4.1.53.Final\" % Runtime\n)\n```\n\n### References\n* https://app.snyk.io/vuln/SNYK-JAVA-IONETTY-564897\n* https://github.com/http4s/http4s/issues/3681\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [http4s](https://github.com/http4s/http4s/issues/new)\n* Contact a maintainer privately per [http4s' security policy](https://github.com/http4s/http4s/blob/master/SECURITY.md#reporting-a-vulnerability)",
55
"affected_packages": [
6-
{
7-
"package": {
8-
"type": "maven",
9-
"namespace": "org.http4s",
10-
"name": "http4s-async-http-client_2.13",
11-
"version": "",
12-
"qualifiers": "",
13-
"subpath": ""
14-
},
15-
"affected_version_range": "vers:maven/<0.21.8",
16-
"fixed_version_range": "vers:maven/0.21.8",
17-
"introduced_by_commit_patches": [],
18-
"fixed_by_commit_patches": []
19-
},
206
{
217
"package": {
228
"type": "maven",
@@ -27,20 +13,6 @@
2713
"subpath": ""
2814
},
2915
"affected_version_range": "vers:maven/<=0.21.7",
30-
"fixed_version_range": null,
31-
"introduced_by_commit_patches": [],
32-
"fixed_by_commit_patches": []
33-
},
34-
{
35-
"package": {
36-
"type": "maven",
37-
"namespace": "org.http4s",
38-
"name": "http4s-async-http-client_2.12",
39-
"version": "",
40-
"qualifiers": "",
41-
"subpath": ""
42-
},
43-
"affected_version_range": "vers:maven/<0.21.8",
4416
"fixed_version_range": "vers:maven/0.21.8",
4517
"introduced_by_commit_patches": [],
4618
"fixed_by_commit_patches": []
@@ -55,7 +27,7 @@
5527
"subpath": ""
5628
},
5729
"affected_version_range": "vers:maven/<=0.21.7",
58-
"fixed_version_range": null,
30+
"fixed_version_range": "vers:maven/0.21.8",
5931
"introduced_by_commit_patches": [],
6032
"fixed_by_commit_patches": []
6133
}

vulnerabilities/tests/test_data/osv_test/oss-fuzz/oss-fuzz-expected-3.json

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"qualifiers": "",
1313
"subpath": ""
1414
},
15-
"affected_version_range": null,
15+
"affected_version_range": "vers:generic/4.11.0|5.0.0-alpha",
1616
"fixed_version_range": null,
1717
"introduced_by_commit_patches": [
1818
{
@@ -36,20 +36,6 @@
3636
"patch_checksum": null
3737
}
3838
]
39-
},
40-
{
41-
"package": {
42-
"type": "generic",
43-
"namespace": "",
44-
"name": "opencv",
45-
"version": "",
46-
"qualifiers": "",
47-
"subpath": ""
48-
},
49-
"affected_version_range": "vers:generic/4.11.0|5.0.0-alpha",
50-
"fixed_version_range": null,
51-
"introduced_by_commit_patches": [],
52-
"fixed_by_commit_patches": []
5339
}
5440
],
5541
"references_v2": [

vulnerabilities/tests/test_data/osv_test/pypa/pypa-expected-2.json

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"qualifiers": "",
1515
"subpath": ""
1616
},
17-
"affected_version_range": "vers:pypi/<2.3.0",
17+
"affected_version_range": "vers:pypi/0.0.1|0.0.2|0.0.3|0.1.0|0.2.0|0.2.1|0.3.0|0.3.1|0.3.2|0.4.0|0.4.1|0.4.2|0.4.3|0.5.0|0.5.1|0.5.2|0.5.3|0.5.4|0.6.0|0.7.0|1.0.0|1.0.1|1.1.0|1.1.1|1.1.2|1.1.3|1.1.4|1.1.5|1.2.2|1.3.3|1.4.1|1.5.1|1.6.0|1.7.0|2.0.0|2.0.1|2.0.2|2.0.3|2.0.4|2.0.5|2.1.0|2.2.0a0|2.2.0|2.2.1|2.2.2|2.2.3",
1818
"fixed_version_range": "vers:pypi/2.3.0",
1919
"introduced_by_commit_patches": [],
2020
"fixed_by_commit_patches": [
@@ -25,20 +25,6 @@
2525
"patch_checksum": null
2626
}
2727
]
28-
},
29-
{
30-
"package": {
31-
"type": "pypi",
32-
"namespace": "",
33-
"name": "djoser",
34-
"version": "",
35-
"qualifiers": "",
36-
"subpath": ""
37-
},
38-
"affected_version_range": "vers:pypi/0.0.1|0.0.2|0.0.3|0.1.0|0.2.0|0.2.1|0.3.0|0.3.1|0.3.2|0.4.0|0.4.1|0.4.2|0.4.3|0.5.0|0.5.1|0.5.2|0.5.3|0.5.4|0.6.0|0.7.0|1.0.0|1.0.1|1.1.0|1.1.1|1.1.2|1.1.3|1.1.4|1.1.5|1.2.2|1.3.3|1.4.1|1.5.1|1.6.0|1.7.0|2.0.0|2.0.1|2.0.2|2.0.3|2.0.4|2.0.5|2.1.0|2.2.0a0|2.2.0|2.2.1|2.2.2|2.2.3",
39-
"fixed_version_range": null,
40-
"introduced_by_commit_patches": [],
41-
"fixed_by_commit_patches": []
4228
}
4329
],
4430
"references_v2": [

vulnerabilities/tests/test_data/osv_test/pypa/pypa-expected-3.json

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"qualifiers": "",
1616
"subpath": ""
1717
},
18-
"affected_version_range": "vers:pypi/<3.9.2",
18+
"affected_version_range": "vers:pypi/0.1|0.2|0.3|0.4|0.4.1|0.4.2|0.4.3|0.4.4|0.5.0|0.6.0|0.6.1|0.6.2|0.6.3|0.6.4|0.6.5|0.7.0|0.7.1|0.7.2|0.7.3|0.8.0|0.8.1|0.8.2|0.8.3|0.8.4|0.9.0|0.9.1|0.9.2|0.9.3|0.10.0|0.10.1|0.10.2|0.11.0|0.12.0|0.13.0|0.13.1|0.14.0|0.14.1|0.14.2|0.14.3|0.14.4|0.15.0|0.15.1|0.15.2|0.15.3|0.16.0|0.16.1|0.16.2|0.16.3|0.16.4|0.16.5|0.16.6|0.17.0|0.17.1|0.17.2|0.17.3|0.17.4|0.18.0|0.18.1|0.18.2|0.18.3|0.18.4|0.19.0|0.20.0|0.20.1|0.20.2|0.21.0|0.21.1|0.21.2|0.21.4|0.21.5|0.21.6|0.22.0a0|0.22.0b0|0.22.0b1|0.22.0b2|0.22.0b3|0.22.0b4|0.22.0b5|0.22.0b6|0.22.0|0.22.1|0.22.2|0.22.3|0.22.4|0.22.5|1.0.0|1.0.1|1.0.2|1.0.3|1.0.5|1.1.0|1.1.1|1.1.2|1.1.3|1.1.4|1.1.5|1.1.6|1.2.0|1.3.0|1.3.1|1.3.2|1.3.3|1.3.4|1.3.5|2.0.0rc1|2.0.0|2.0.1|2.0.2|2.0.3|2.0.4|2.0.5|2.0.6|2.0.7|2.1.0|2.2.0|2.2.1|2.2.2|2.2.3|2.2.4|2.2.5|2.3.0a1|2.3.0a2|2.3.0a3|2.3.0a4|2.3.0|2.3.1a1|2.3.1|2.3.2b2|2.3.2b3|2.3.2|2.3.3|2.3.4|2.3.5|2.3.6|2.3.7|2.3.8|2.3.9|2.3.10|3.0.0b0|3.0.0b1|3.0.0b2|3.0.0b3|3.0.0b4|3.0.0|3.0.1|3.0.2|3.0.3|3.0.4|3.0.5|3.0.6|3.0.7|3.0.8|3.0.9|3.1.0|3.1.1|3.1.2|3.1.3|3.2.0|3.2.1|3.3.0a0|3.3.0|3.3.1|3.3.2a0|3.3.2|3.4.0a0|3.4.0a3|3.4.0b1|3.4.0b2|3.4.0|3.4.1|3.4.2|3.4.3|3.4.4|3.5.0a1|3.5.0b1|3.5.0b2|3.5.0b3|3.5.0|3.5.1|3.5.2|3.5.3|3.5.4|3.6.0a0|3.6.0a1|3.6.0a2|3.6.0a3|3.6.0a4|3.6.0a5|3.6.0a6|3.6.0a7|3.6.0a8|3.6.0a9|3.6.0a11|3.6.0a12|3.6.0b0|3.6.0|3.6.1b3|3.6.1b4|3.6.1|3.6.2a0|3.6.2a1|3.6.2a2|3.6.2|3.6.3|3.7.0b0|3.7.0b1|3.7.0|3.7.1|3.7.2|3.7.3|3.7.4|3.7.4.post0|3.8.0a7|3.8.0b0|3.8.0|3.8.1|3.8.2|3.8.3|3.8.4|3.8.5|3.8.6|3.9.0b0|3.9.0b1|3.9.0rc0|3.9.0|3.9.1",
1919
"fixed_version_range": "vers:pypi/3.9.2",
2020
"introduced_by_commit_patches": [],
2121
"fixed_by_commit_patches": [
@@ -26,20 +26,6 @@
2626
"patch_checksum": null
2727
}
2828
]
29-
},
30-
{
31-
"package": {
32-
"type": "pypi",
33-
"namespace": "",
34-
"name": "aiohttp",
35-
"version": "",
36-
"qualifiers": "",
37-
"subpath": ""
38-
},
39-
"affected_version_range": "vers:pypi/0.1|0.2|0.3|0.4|0.4.1|0.4.2|0.4.3|0.4.4|0.5.0|0.6.0|0.6.1|0.6.2|0.6.3|0.6.4|0.6.5|0.7.0|0.7.1|0.7.2|0.7.3|0.8.0|0.8.1|0.8.2|0.8.3|0.8.4|0.9.0|0.9.1|0.9.2|0.9.3|0.10.0|0.10.1|0.10.2|0.11.0|0.12.0|0.13.0|0.13.1|0.14.0|0.14.1|0.14.2|0.14.3|0.14.4|0.15.0|0.15.1|0.15.2|0.15.3|0.16.0|0.16.1|0.16.2|0.16.3|0.16.4|0.16.5|0.16.6|0.17.0|0.17.1|0.17.2|0.17.3|0.17.4|0.18.0|0.18.1|0.18.2|0.18.3|0.18.4|0.19.0|0.20.0|0.20.1|0.20.2|0.21.0|0.21.1|0.21.2|0.21.4|0.21.5|0.21.6|0.22.0a0|0.22.0b0|0.22.0b1|0.22.0b2|0.22.0b3|0.22.0b4|0.22.0b5|0.22.0b6|0.22.0|0.22.1|0.22.2|0.22.3|0.22.4|0.22.5|1.0.0|1.0.1|1.0.2|1.0.3|1.0.5|1.1.0|1.1.1|1.1.2|1.1.3|1.1.4|1.1.5|1.1.6|1.2.0|1.3.0|1.3.1|1.3.2|1.3.3|1.3.4|1.3.5|2.0.0rc1|2.0.0|2.0.1|2.0.2|2.0.3|2.0.4|2.0.5|2.0.6|2.0.7|2.1.0|2.2.0|2.2.1|2.2.2|2.2.3|2.2.4|2.2.5|2.3.0a1|2.3.0a2|2.3.0a3|2.3.0a4|2.3.0|2.3.1a1|2.3.1|2.3.2b2|2.3.2b3|2.3.2|2.3.3|2.3.4|2.3.5|2.3.6|2.3.7|2.3.8|2.3.9|2.3.10|3.0.0b0|3.0.0b1|3.0.0b2|3.0.0b3|3.0.0b4|3.0.0|3.0.1|3.0.2|3.0.3|3.0.4|3.0.5|3.0.6|3.0.7|3.0.8|3.0.9|3.1.0|3.1.1|3.1.2|3.1.3|3.2.0|3.2.1|3.3.0a0|3.3.0|3.3.1|3.3.2a0|3.3.2|3.4.0a0|3.4.0a3|3.4.0b1|3.4.0b2|3.4.0|3.4.1|3.4.2|3.4.3|3.4.4|3.5.0a1|3.5.0b1|3.5.0b2|3.5.0b3|3.5.0|3.5.1|3.5.2|3.5.3|3.5.4|3.6.0a0|3.6.0a1|3.6.0a2|3.6.0a3|3.6.0a4|3.6.0a5|3.6.0a6|3.6.0a7|3.6.0a8|3.6.0a9|3.6.0a11|3.6.0a12|3.6.0b0|3.6.0|3.6.1b3|3.6.1b4|3.6.1|3.6.2a0|3.6.2a1|3.6.2a2|3.6.2|3.6.3|3.7.0b0|3.7.0b1|3.7.0|3.7.1|3.7.2|3.7.3|3.7.4|3.7.4.post0|3.8.0a7|3.8.0b0|3.8.0|3.8.1|3.8.2|3.8.3|3.8.4|3.8.5|3.8.6|3.9.0b0|3.9.0b1|3.9.0rc0|3.9.0|3.9.1",
40-
"fixed_version_range": null,
41-
"introduced_by_commit_patches": [],
42-
"fixed_by_commit_patches": []
4329
}
4430
],
4531
"references_v2": [

vulnerabilities/tests/test_data/osv_test/pypa/pypa-expected-4.json

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,6 @@
66
],
77
"summary": "A race condition flaw was found in ansible-runner, where an attacker could watch for rapid creation and deletion of a temporary directory, substitute their directory at that name, and then have access to ansible-runner's private_data_dir the next time ansible-runner made use of the private_data_dir. The highest Threat out of this flaw is to integrity and confidentiality.",
88
"affected_packages": [
9-
{
10-
"package": {
11-
"type": "pypi",
12-
"namespace": "",
13-
"name": "ansible-runner",
14-
"version": "",
15-
"qualifiers": "",
16-
"subpath": ""
17-
},
18-
"affected_version_range": "vers:pypi/>=2.0.0|<2.1.0",
19-
"fixed_version_range": "vers:pypi/2.1.0",
20-
"introduced_by_commit_patches": [],
21-
"fixed_by_commit_patches": []
22-
},
239
{
2410
"package": {
2511
"type": "pypi",
@@ -30,7 +16,7 @@
3016
"subpath": ""
3117
},
3218
"affected_version_range": "vers:pypi/2.0.0|2.0.1|2.0.2|2.0.3|2.0.4|2.1.0.0a1|2.1.0.0a2|2.1.0.0b1",
33-
"fixed_version_range": null,
19+
"fixed_version_range": "vers:pypi/2.1.0",
3420
"introduced_by_commit_patches": [],
3521
"fixed_by_commit_patches": []
3622
}

vulnerabilities/tests/test_data/osv_test/pypa/pypa-expected-5.json

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"qualifiers": "",
1616
"subpath": ""
1717
},
18-
"affected_version_range": null,
18+
"affected_version_range": "vers:pypi/1.9a2|1.9a5|1.9a6|2.0|2.0.1|2.1.0|2.2|2.3|2.4|2.4.1|2.5|2.6|2.6.1",
1919
"fixed_version_range": null,
2020
"introduced_by_commit_patches": [],
2121
"fixed_by_commit_patches": [
@@ -26,20 +26,6 @@
2626
"patch_checksum": null
2727
}
2828
]
29-
},
30-
{
31-
"package": {
32-
"type": "pypi",
33-
"namespace": "",
34-
"name": "pycrypto",
35-
"version": "",
36-
"qualifiers": "",
37-
"subpath": ""
38-
},
39-
"affected_version_range": "vers:pypi/1.9a2|1.9a5|1.9a6|2.0|2.0.1|2.1.0|2.2|2.3|2.4|2.4.1|2.5|2.6|2.6.1",
40-
"fixed_version_range": null,
41-
"introduced_by_commit_patches": [],
42-
"fixed_by_commit_patches": []
4329
}
4430
],
4531
"references_v2": [

0 commit comments

Comments
 (0)