2023-08-07 20:00:39 +00:00
{
"id" : "CVE-2023-39363" ,
"sourceIdentifier" : "security-advisories@github.com" ,
"published" : "2023-08-07T19:15:11.873" ,
2023-09-18 22:00:28 +00:00
"lastModified" : "2023-09-18T21:15:55.163" ,
"vulnStatus" : "Modified" ,
2023-08-07 20:00:39 +00:00
"descriptions" : [
{
"lang" : "en" ,
2023-09-18 22:00:28 +00:00
"value" : "Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine (EVM). In versions 0.2.15, 0.2.16 and 0.3.0, named re-entrancy locks are allocated incorrectly. Each function using a named re-entrancy lock gets a unique lock regardless of the key, allowing cross-function re-entrancy in contracts compiled with the susceptible versions. A specific set of conditions is required to result in misbehavior of affected contracts, specifically: a `.vy` contract compiled with `vyper` versions `0.2.15`, `0.2.16`, or `0.3.0`; a primary function that utilizes the `@nonreentrant` decorator with a specific `key` and does not strictly follow the check-effects-interaction pattern (i.e. contains an external call to an untrusted party before storage updates); and a secondary function that utilizes the same `key` and would be affected by the improper state caused by the primary function. Version 0.3.1 contains a fix for this issue."
2023-08-07 20:00:39 +00:00
}
] ,
"metrics" : {
"cvssMetricV31" : [
2023-08-11 18:00:35 +00:00
{
"source" : "nvd@nist.gov" ,
"type" : "Primary" ,
"cvssData" : {
"version" : "3.1" ,
"vectorString" : "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N" ,
"attackVector" : "NETWORK" ,
"attackComplexity" : "HIGH" ,
"privilegesRequired" : "NONE" ,
"userInteraction" : "NONE" ,
"scope" : "UNCHANGED" ,
"confidentialityImpact" : "NONE" ,
"integrityImpact" : "HIGH" ,
"availabilityImpact" : "NONE" ,
"baseScore" : 5.9 ,
"baseSeverity" : "MEDIUM"
} ,
"exploitabilityScore" : 2.2 ,
"impactScore" : 3.6
} ,
2023-08-07 20:00:39 +00:00
{
"source" : "security-advisories@github.com" ,
"type" : "Secondary" ,
"cvssData" : {
"version" : "3.1" ,
"vectorString" : "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N" ,
"attackVector" : "NETWORK" ,
"attackComplexity" : "HIGH" ,
"privilegesRequired" : "NONE" ,
"userInteraction" : "NONE" ,
"scope" : "UNCHANGED" ,
"confidentialityImpact" : "NONE" ,
"integrityImpact" : "HIGH" ,
"availabilityImpact" : "NONE" ,
"baseScore" : 5.9 ,
"baseSeverity" : "MEDIUM"
} ,
"exploitabilityScore" : 2.2 ,
"impactScore" : 3.6
}
]
} ,
"weaknesses" : [
{
"source" : "security-advisories@github.com" ,
"type" : "Primary" ,
"description" : [
{
"lang" : "en" ,
"value" : "CWE-863"
}
]
}
] ,
2023-08-11 18:00:35 +00:00
"configurations" : [
{
"nodes" : [
{
"operator" : "OR" ,
"negate" : false ,
"cpeMatch" : [
{
"vulnerable" : true ,
"criteria" : "cpe:2.3:a:vyperlang:vyper:0.2.15:*:*:*:*:python:*:*" ,
"matchCriteriaId" : "D77BED2E-B82A-49C3-A555-04F77E181013"
} ,
{
"vulnerable" : true ,
"criteria" : "cpe:2.3:a:vyperlang:vyper:0.2.16:*:*:*:*:python:*:*" ,
"matchCriteriaId" : "1DF78911-B188-4F6F-8E8A-BF120C425C8F"
} ,
{
"vulnerable" : true ,
"criteria" : "cpe:2.3:a:vyperlang:vyper:0.3.0:*:*:*:*:python:*:*" ,
"matchCriteriaId" : "B371A623-7B66-4D86-A8E9-0CBC01AEC1F4"
}
]
}
]
}
] ,
2023-08-07 20:00:39 +00:00
"references" : [
{
"url" : "https://github.com/vyperlang/vyper/pull/2439" ,
2023-08-11 18:00:35 +00:00
"source" : "security-advisories@github.com" ,
"tags" : [
"Patch"
]
2023-08-07 20:00:39 +00:00
} ,
{
"url" : "https://github.com/vyperlang/vyper/pull/2514" ,
2023-08-11 18:00:35 +00:00
"source" : "security-advisories@github.com" ,
"tags" : [
"Patch"
]
2023-08-07 20:00:39 +00:00
} ,
{
"url" : "https://github.com/vyperlang/vyper/security/advisories/GHSA-5824-cm3x-3c38" ,
2023-08-11 18:00:35 +00:00
"source" : "security-advisories@github.com" ,
"tags" : [
"Exploit" ,
"Patch" ,
"Third Party Advisory"
]
2023-08-07 20:00:39 +00:00
} ,
{
"url" : "https://hackmd.io/@LlamaRisk/BJzSKHNjn" ,
2023-08-11 18:00:35 +00:00
"source" : "security-advisories@github.com" ,
"tags" : [
"Exploit" ,
"Third Party Advisory"
]
2023-08-07 20:00:39 +00:00
} ,
{
"url" : "https://hackmd.io/@vyperlang/HJUgNMhs2" ,
2023-08-11 18:00:35 +00:00
"source" : "security-advisories@github.com" ,
"tags" : [
"Exploit" ,
"Third Party Advisory"
]
2023-08-07 20:00:39 +00:00
}
]
}