-
I investigated the CVE 5.0 format and am asking myself if it is possible to transfer certain information from the CVE description to the new structured format. Let's take the Spring4Shell vulnerability (CVE-2022-22965) with the following description as an example: A Spring MVC or Spring WebFlux application running on JDK 9+ may be vulnerable to remote code execution (RCE) via data binding. The specific exploit requires the application to run on Tomcat as a WAR deployment. If the application is deployed as a Spring Boot executable jar, i.e. the default, it is not vulnerable to the exploit. However, the nature of the vulnerability is more general, and there may be other ways to exploit it. I highlighted the information that could be interesting for specific applications and want to know whether this information can and should be represented in the new format (see example below) because the plaintext description is not very automatable or automation-friendly, as @chandanbn mentioned in the podcast. {
...
"descriptions": [
{
"lang": "en",
"value": "A Spring MVC or Spring WebFlux application running on JDK 9+ may be vulnerable to remote code execution (RCE) via data binding. The specific exploit requires the application to run on Tomcat as a WAR deployment. If the application is deployed as a Spring Boot executable jar, i.e. the default, it is not vulnerable to the exploit. However, the nature of the vulnerability is more general, and there may be other ways to exploit it."
}
],
"affected": [
{
"vendor": "VMware",
"product": "Spring",
"platforms": [
"Tomcat"
],
"collectionURL": "https://repo.maven.apache.org/maven2",
"packageName": "org.springframework:spring-beans",
"programFiles": [
"org.springframework.beans.CachedIntrospectionResults"
],
"programRoutines": [
{
"name": "<init>"
}
],
"versions": [
...
{
"version": "5.3.0",
"status": "affected",
"lessThan": "5.3.18",
"versionType": "semver"
}
]
}
]
} |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Your suggested JSON representation looks good (eg., tomcat in platforms) There is also a configurations field that could be used for calling out specific circumstances (like Tomcat plus JDK9+) that make the vulnerability exploitable. While the intent of the structured representation is to reduce reliance on a blob of text containing all knowledge, it is also to highlight certain parts of information that have a high value to the audience- and to make sure it is captured if available. That fact that a vuln is only relevant in circumstances (versions, platforms, configs) may reduce unnecessary churn when people have to deal with the vuln. Thanks |
Beta Was this translation helpful? Give feedback.
Your suggested JSON representation looks good (eg., tomcat in platforms)
There is also a configurations field that could be used for calling out specific circumstances (like Tomcat plus JDK9+) that make the vulnerability exploitable.
While the intent of the structured representation is to reduce reliance on a blob of text containing all knowledge, it is also to highlight certain parts of information that have a high value to the audience- and to make sure it is captured if available.
That fact that a vuln is only relevant in circumstances (versions, platforms, configs) may reduce unnecessary churn when people have to deal with the vuln.
Thanks
Chandan