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
{ "vanir_signatures": [ { "target": { "file": "fs/erofs/inode.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0ab621fcdff1a58ff4de51a8590fa92a0ecd34be", "digest": { "line_hashes": [ "199949865132313641995827412769059991224", "233513132605925762967828533826105618330", "308305245570026058436484261734840341416", "338743889159773331340875411367100930183" ], "threshold": 0.9 }, "signature_version": "v1", "id": "CVE-2022-50313-11809efa", "deprecated": false, "signature_type": "Line" }, { "target": { "file": "fs/erofs/inode.c", "function": "erofs_fill_symlink" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1dd73601a1cba37a0ed5f89a8662c90191df5873", "digest": { "length": 752.0, "function_hash": "322586694216775334825497982191253625621" }, "signature_version": "v1", "id": "CVE-2022-50313-46767df1", "deprecated": false, "signature_type": "Function" }, { "target": { "file": "fs/erofs/inode.c", "function": "erofs_fill_symlink" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b6c8330f5b0f22149957a2e4977fd0f01a9db7cd", "digest": { "length": 752.0, "function_hash": "322586694216775334825497982191253625621" }, "signature_version": "v1", "id": "CVE-2022-50313-69bec550", "deprecated": false, "signature_type": "Function" }, { "target": { "file": "fs/erofs/inode.c", "function": "erofs_fill_symlink" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6235fb899b25fd287d5e42635ff82196395708cc", "digest": { "length": 752.0, "function_hash": "322586694216775334825497982191253625621" }, "signature_version": "v1", "id": "CVE-2022-50313-8980d001", "deprecated": false, "signature_type": "Function" }, { "target": { "file": "fs/erofs/inode.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1dd73601a1cba37a0ed5f89a8662c90191df5873", "digest": { "line_hashes": [ "150704597337796286731618936405213460174", "138823625191391128475201976908065872624", "194183340871032879232561552414311712118", "234156750275168740339122670478829869622" ], "threshold": 0.9 }, "signature_version": "v1", "id": "CVE-2022-50313-8ce4ec51", "deprecated": false, "signature_type": "Line" }, { "target": { "file": "fs/erofs/inode.c", "function": "erofs_fill_symlink" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0ab621fcdff1a58ff4de51a8590fa92a0ecd34be", "digest": { "length": 746.0, "function_hash": "147203729491444477444836635119925834810" }, "signature_version": "v1", "id": "CVE-2022-50313-ad8eb361", "deprecated": false, "signature_type": "Function" }, { "target": { "file": "fs/erofs/inode.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b6c8330f5b0f22149957a2e4977fd0f01a9db7cd", "digest": { "line_hashes": [ "150704597337796286731618936405213460174", "138823625191391128475201976908065872624", "194183340871032879232561552414311712118", "234156750275168740339122670478829869622" ], "threshold": 0.9 }, "signature_version": "v1", "id": "CVE-2022-50313-c0bdc541", "deprecated": false, "signature_type": "Line" }, { "target": { "file": "fs/erofs/inode.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6235fb899b25fd287d5e42635ff82196395708cc", "digest": { "line_hashes": [ "150704597337796286731618936405213460174", "138823625191391128475201976908065872624", "194183340871032879232561552414311712118", "234156750275168740339122670478829869622" ], "threshold": 0.9 }, "signature_version": "v1", "id": "CVE-2022-50313-d91cec31", "deprecated": false, "signature_type": "Line" }, { "target": { "file": "fs/erofs/inode.c", "function": "erofs_fill_symlink" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@acc2f40b980c61a9178b72cdedd150b829064997", "digest": { "length": 746.0, "function_hash": "147203729491444477444836635119925834810" }, "signature_version": "v1", "id": "CVE-2022-50313-e2b53001", "deprecated": false, "signature_type": "Function" }, { "target": { "file": "fs/erofs/inode.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@acc2f40b980c61a9178b72cdedd150b829064997", "digest": { "line_hashes": [ "199949865132313641995827412769059991224", "233513132605925762967828533826105618330", "308305245570026058436484261734840341416", "338743889159773331340875411367100930183" ], "threshold": 0.9 }, "signature_version": "v1", "id": "CVE-2022-50313-f56b01ec", "deprecated": false, "signature_type": "Line" }, { "target": { "file": "fs/erofs/inode.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17a0cdbd7b0cf0fc0d7ca4187a67f8f1c18c291f", "digest": { "line_hashes": [ "199949865132313641995827412769059991224", "233513132605925762967828533826105618330", "308305245570026058436484261734840341416", "338743889159773331340875411367100930183" ], "threshold": 0.9 }, "signature_version": "v1", "id": "CVE-2022-50313-f5d8b05d", "deprecated": false, "signature_type": "Line" }, { "target": { "file": "fs/erofs/inode.c", "function": "erofs_fill_symlink" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17a0cdbd7b0cf0fc0d7ca4187a67f8f1c18c291f", "digest": { "length": 746.0, "function_hash": "147203729491444477444836635119925834810" }, "signature_version": "v1", "id": "CVE-2022-50313-fbcf73a3", "deprecated": false, "signature_type": "Function" } ] }