{ "containers": { "cna": { "affected": [ { "product": "Linux kernel", "vendor": "Linux", "versions": [ { "lessThan": "v5.13-rc4", "status": "affected", "version": "trunk", "versionType": "custom" }, { "lessThan": "v5.12.4", "status": "affected", "version": "linux-5.12.y", "versionType": "custom" }, { "lessThan": "v5.11.21", "status": "affected", "version": "linux-5.11.y", "versionType": "custom" }, { "lessThan": "v5.10.37", "status": "affected", "version": "linux-5.10.y", "versionType": "custom" }, { "lessThan": "5.7*", "status": "affected", "version": "v5.7-rc1", "versionType": "custom" } ] } ], "credits": [ { "lang": "en", "value": "Billy Jheng Bing-Jhong (@st424204) of STAR Labs working with Trend Micro's Zero Day Initiative" } ], "datePublic": "2021-05-11T00:00:00.000Z", "descriptions": [ { "lang": "en", "value": "The io_uring subsystem in the Linux kernel allowed the MAX_RW_COUNT limit to be bypassed in the PROVIDE_BUFFERS operation, which led to negative values being usedin mem_rw when reading /proc//mem. This could be used to create a heap overflow leading to arbitrary code execution in the kernel. It was addressed via commit d1f82808877b (\"io_uring: truncate lengths larger than MAX_RW_COUNT on provide buffers\") (v5.13-rc1) and backported to the stable kernels in v5.12.4, v5.11.21, and v5.10.37. It was introduced in ddf0322db79c (\"io_uring: add IORING_OP_PROVIDE_BUFFERS\") (v5.7-rc1)." } ], "metrics": [ { "cvssV3_1": { "attackComplexity": "HIGH", "attackVector": "LOCAL", "availabilityImpact": "HIGH", "baseScore": 7.8, "baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "LOW", "scope": "CHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H", "version": "3.1" } } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-131", "description": "CWE-131 Incorrect Calculation of Buffer Size", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "dateUpdated": "2021-07-16T10:06:31.000Z", "orgId": "cc1ad9ee-3454-478d-9317-d3e869d708bc", "shortName": "canonical" }, "references": [ { "tags": [ "vendor-advisory", "x_refsource_UBUNTU" ], "url": "https://ubuntu.com/security/notices/USN-4950-1" }, { "tags": [ "vendor-advisory", "x_refsource_UBUNTU" ], "url": "https://ubuntu.com/security/notices/USN-4949-1" }, { "name": "[oss-security] CVE-2021-3491 - Linux kernel io_uring PROVIDE_BUFFERS MAX_RW_COUNT bypass", "tags": [ "mailing-list", "x_refsource_MLIST" ], "url": "https://www.openwall.com/lists/oss-security/2021/05/11/13" }, { "tags": [ "x_refsource_MISC" ], "url": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d1f82808877bb10d3deee7cf3374a4eb3fb582db" }, { "tags": [ "x_refsource_MISC" ], "url": "https://www.zerodayinitiative.com/advisories/ZDI-21-589/" }, { "tags": [ "x_refsource_CONFIRM" ], "url": "https://security.netapp.com/advisory/ntap-20210716-0004/" } ], "source": { "discovery": "EXTERNAL" }, "title": "Linux kernel io_uring PROVIDE_BUFFERS MAX_RW_COUNT bypass", "x_generator": { "engine": "Vulnogram 0.0.9" }, "x_legacyV4Record": { "CVE_data_meta": { "ASSIGNER": "security@ubuntu.com", "DATE_PUBLIC": "2021-05-11 17:00:00 +0000", "ID": "CVE-2021-3491", "STATE": "PUBLIC", "TITLE": "Linux kernel io_uring PROVIDE_BUFFERS MAX_RW_COUNT bypass" }, "affects": { "vendor": { "vendor_data": [ { "product": { "product_data": [ { "product_name": "Linux kernel", "version": { "version_data": [ { "version_affected": "<", "version_name": "trunk", "version_value": "v5.13-rc4" }, { "version_affected": "<", "version_name": "linux-5.12.y", "version_value": "v5.12.4" }, { "version_affected": "<", "version_name": "linux-5.11.y", "version_value": "v5.11.21" }, { "version_affected": "<", "version_name": "linux-5.10.y", "version_value": "v5.10.37" }, { "version_affected": ">=", "version_name": "5.7", "version_value": "v5.7-rc1" } ] } } ] }, "vendor_name": "Linux" } ] } }, "credit": [ { "lang": "eng", "value": "Billy Jheng Bing-Jhong (@st424204) of STAR Labs working with Trend Micro's Zero Day Initiative" } ], "data_format": "MITRE", "data_type": "CVE", "data_version": "4.0", "description": { "description_data": [ { "lang": "eng", "value": "The io_uring subsystem in the Linux kernel allowed the MAX_RW_COUNT limit to be bypassed in the PROVIDE_BUFFERS operation, which led to negative values being usedin mem_rw when reading /proc//mem. This could be used to create a heap overflow leading to arbitrary code execution in the kernel. It was addressed via commit d1f82808877b (\"io_uring: truncate lengths larger than MAX_RW_COUNT on provide buffers\") (v5.13-rc1) and backported to the stable kernels in v5.12.4, v5.11.21, and v5.10.37. It was introduced in ddf0322db79c (\"io_uring: add IORING_OP_PROVIDE_BUFFERS\") (v5.7-rc1)." } ] }, "generator": { "engine": "Vulnogram 0.0.9" }, "impact": { "cvss": { "attackComplexity": "HIGH", "attackVector": "LOCAL", "availabilityImpact": "HIGH", "baseScore": 7.8, "baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "LOW", "scope": "CHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H", "version": "3.1" } }, "problemtype": { "problemtype_data": [ { "description": [ { "lang": "eng", "value": "CWE-131 Incorrect Calculation of Buffer Size" } ] } ] }, "references": { "reference_data": [ { "name": "https://ubuntu.com/security/notices/USN-4950-1", "refsource": "UBUNTU", "url": "https://ubuntu.com/security/notices/USN-4950-1" }, { "name": "https://ubuntu.com/security/notices/USN-4949-1", "refsource": "UBUNTU", "url": "https://ubuntu.com/security/notices/USN-4949-1" }, { "name": "[oss-security] CVE-2021-3491 - Linux kernel io_uring PROVIDE_BUFFERS MAX_RW_COUNT bypass", "refsource": "MLIST", "url": "https://www.openwall.com/lists/oss-security/2021/05/11/13" }, { "name": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d1f82808877bb10d3deee7cf3374a4eb3fb582db", "refsource": "MISC", "url": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d1f82808877bb10d3deee7cf3374a4eb3fb582db" }, { "name": "https://www.zerodayinitiative.com/advisories/ZDI-21-589/", "refsource": "MISC", "url": "https://www.zerodayinitiative.com/advisories/ZDI-21-589/" }, { "name": "https://security.netapp.com/advisory/ntap-20210716-0004/", "refsource": "CONFIRM", "url": "https://security.netapp.com/advisory/ntap-20210716-0004/" } ] }, "source": { "discovery": "EXTERNAL" } } }, "adp": [ { "providerMetadata": { "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE", "dateUpdated": "2024-08-03T16:53:17.728Z" }, "title": "CVE Program Container", "references": [ { "tags": [ "vendor-advisory", "x_refsource_UBUNTU", "x_transferred" ], "url": "https://ubuntu.com/security/notices/USN-4950-1" }, { "tags": [ "vendor-advisory", "x_refsource_UBUNTU", "x_transferred" ], "url": "https://ubuntu.com/security/notices/USN-4949-1" }, { "name": "[oss-security] CVE-2021-3491 - Linux kernel io_uring PROVIDE_BUFFERS MAX_RW_COUNT bypass", "tags": [ "mailing-list", "x_refsource_MLIST", "x_transferred" ], "url": "https://www.openwall.com/lists/oss-security/2021/05/11/13" }, { "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d1f82808877bb10d3deee7cf3374a4eb3fb582db" }, { "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://www.zerodayinitiative.com/advisories/ZDI-21-589/" }, { "tags": [ "x_refsource_CONFIRM", "x_transferred" ], "url": "https://security.netapp.com/advisory/ntap-20210716-0004/" } ] } ] }, "cveMetadata": { "assignerOrgId": "cc1ad9ee-3454-478d-9317-d3e869d708bc", "assignerShortName": "canonical", "cveId": "CVE-2021-3491", "datePublished": "2021-06-04T01:40:20.936Z", "dateReserved": "2021-04-09T00:00:00.000Z", "dateUpdated": "2024-09-16T22:09:25.883Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1" }