In the Linux kernel, the following vulnerability has been resolved:
erofs: fix order >= MAXORDER warning due to crafted negative isize
As syzbot reported [1], the root cause is that isize field is a signed type, and negative isize is also less than EROFS_BLKSIZ. As a consequence, it's handled as fast symlink unexpectedly.
Let's fall back to the generic path to deal with such unusual i_size.
[1] https://lore.kernel.org/r/000000000000ac8efa05e7feaa1f@google.com
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50313.json"
}[
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"199949865132313641995827412769059991224",
"233513132605925762967828533826105618330",
"308305245570026058436484261734840341416",
"338743889159773331340875411367100930183"
]
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-50313-11809efa",
"target": {
"file": "fs/erofs/inode.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0ab621fcdff1a58ff4de51a8590fa92a0ecd34be"
},
{
"digest": {
"length": 752.0,
"function_hash": "322586694216775334825497982191253625621"
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2022-50313-46767df1",
"target": {
"function": "erofs_fill_symlink",
"file": "fs/erofs/inode.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1dd73601a1cba37a0ed5f89a8662c90191df5873"
},
{
"digest": {
"length": 752.0,
"function_hash": "322586694216775334825497982191253625621"
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2022-50313-69bec550",
"target": {
"function": "erofs_fill_symlink",
"file": "fs/erofs/inode.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b6c8330f5b0f22149957a2e4977fd0f01a9db7cd"
},
{
"digest": {
"length": 752.0,
"function_hash": "322586694216775334825497982191253625621"
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2022-50313-8980d001",
"target": {
"function": "erofs_fill_symlink",
"file": "fs/erofs/inode.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6235fb899b25fd287d5e42635ff82196395708cc"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"150704597337796286731618936405213460174",
"138823625191391128475201976908065872624",
"194183340871032879232561552414311712118",
"234156750275168740339122670478829869622"
]
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-50313-8ce4ec51",
"target": {
"file": "fs/erofs/inode.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1dd73601a1cba37a0ed5f89a8662c90191df5873"
},
{
"digest": {
"length": 746.0,
"function_hash": "147203729491444477444836635119925834810"
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2022-50313-ad8eb361",
"target": {
"function": "erofs_fill_symlink",
"file": "fs/erofs/inode.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0ab621fcdff1a58ff4de51a8590fa92a0ecd34be"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"150704597337796286731618936405213460174",
"138823625191391128475201976908065872624",
"194183340871032879232561552414311712118",
"234156750275168740339122670478829869622"
]
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-50313-c0bdc541",
"target": {
"file": "fs/erofs/inode.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b6c8330f5b0f22149957a2e4977fd0f01a9db7cd"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"150704597337796286731618936405213460174",
"138823625191391128475201976908065872624",
"194183340871032879232561552414311712118",
"234156750275168740339122670478829869622"
]
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-50313-d91cec31",
"target": {
"file": "fs/erofs/inode.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6235fb899b25fd287d5e42635ff82196395708cc"
},
{
"digest": {
"length": 746.0,
"function_hash": "147203729491444477444836635119925834810"
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2022-50313-e2b53001",
"target": {
"function": "erofs_fill_symlink",
"file": "fs/erofs/inode.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@acc2f40b980c61a9178b72cdedd150b829064997"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"199949865132313641995827412769059991224",
"233513132605925762967828533826105618330",
"308305245570026058436484261734840341416",
"338743889159773331340875411367100930183"
]
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-50313-f56b01ec",
"target": {
"file": "fs/erofs/inode.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@acc2f40b980c61a9178b72cdedd150b829064997"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"199949865132313641995827412769059991224",
"233513132605925762967828533826105618330",
"308305245570026058436484261734840341416",
"338743889159773331340875411367100930183"
]
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-50313-f5d8b05d",
"target": {
"file": "fs/erofs/inode.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17a0cdbd7b0cf0fc0d7ca4187a67f8f1c18c291f"
},
{
"digest": {
"length": 746.0,
"function_hash": "147203729491444477444836635119925834810"
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2022-50313-fbcf73a3",
"target": {
"function": "erofs_fill_symlink",
"file": "fs/erofs/inode.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17a0cdbd7b0cf0fc0d7ca4187a67f8f1c18c291f"
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-50313.json"