In the Linux kernel, the following vulnerability has been resolved:
media: v4l2-dv-timings.c: fix too strict blanking sanity checks
Sanity checks were added to verify the v4l2bttimings blanking fields in order to avoid integer overflows when userspace passes weird values.
But that assumed that userspace would correctly fill in the front porch, backporch and sync values, but sometimes all you know is the total blanking, which is then assigned to just one of these fields.
And that can fail with these checks.
So instead set a maximum for the total horizontal and vertical blanking and check that each field remains below that.
That is still sufficient to avoid integer overflows, but it also allows for more flexibility in how userspace fills in these fields.
{ "vanir_signatures": [ { "target": { "file": "drivers/media/v4l2-core/v4l2-dv-timings.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2572ab14b73aa45b6ae7e4c089ccf119fed5cf89", "digest": { "threshold": 0.9, "line_hashes": [ "55164845505937164073312492451268952517", "259360007680926913644079619342722967724", "126692221774240465692008525317756816544", "69164972677419014940553782638773398995", "289596351781575252184041980463042747690", "311755700945322801236645702283898545778", "262203089117455287595061942210111898538", "123857164682405855696798650898984225002", "232106759265095900075901180284902373801", "87186282690157672821661343360113172711", "317377435565282721975003857756426193866", "314097317042825353396934133530141256748", "305452558972456389917805171319089484369", "192511037506738574085974968365549446798", "241062398826369397876636144137525355479" ] }, "deprecated": false, "id": "CVE-2022-48987-151b1edf", "signature_type": "Line", "signature_version": "v1" }, { "target": { "function": "v4l2_valid_dv_timings", "file": "drivers/media/v4l2-core/v4l2-dv-timings.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5eef2141776da02772c44ec406d6871a790761ee", "digest": { "length": 1323.0, "function_hash": "24552138738169863162938895238603598896" }, "deprecated": false, "id": "CVE-2022-48987-4ad08ad8", "signature_type": "Function", "signature_version": "v1" }, { "target": { "file": "drivers/media/v4l2-core/v4l2-dv-timings.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5eef2141776da02772c44ec406d6871a790761ee", "digest": { "threshold": 0.9, "line_hashes": [ "55164845505937164073312492451268952517", "259360007680926913644079619342722967724", "126692221774240465692008525317756816544", "69164972677419014940553782638773398995", "289596351781575252184041980463042747690", "311755700945322801236645702283898545778", "262203089117455287595061942210111898538", "123857164682405855696798650898984225002", "232106759265095900075901180284902373801", "87186282690157672821661343360113172711", "317377435565282721975003857756426193866", "314097317042825353396934133530141256748", "305452558972456389917805171319089484369", "192511037506738574085974968365549446798", "241062398826369397876636144137525355479" ] }, "deprecated": false, "id": "CVE-2022-48987-4c1baa38", "signature_type": "Line", "signature_version": "v1" }, { "target": { "function": "v4l2_valid_dv_timings", "file": "drivers/media/v4l2-core/v4l2-dv-timings.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4afc77068e36cee45b39d4fdc7513de26980f72c", "digest": { "length": 1323.0, "function_hash": "24552138738169863162938895238603598896" }, "deprecated": false, "id": "CVE-2022-48987-4d804d16", "signature_type": "Function", "signature_version": "v1" }, { "target": { "file": "drivers/media/v4l2-core/v4l2-dv-timings.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a2b56627c0d13009e02f6f2c0206c0451ed19a0e", "digest": { "threshold": 0.9, "line_hashes": [ "55164845505937164073312492451268952517", "259360007680926913644079619342722967724", "126692221774240465692008525317756816544", "69164972677419014940553782638773398995", "289596351781575252184041980463042747690", "311755700945322801236645702283898545778", "262203089117455287595061942210111898538", "123857164682405855696798650898984225002", "232106759265095900075901180284902373801", "87186282690157672821661343360113172711", "317377435565282721975003857756426193866", "314097317042825353396934133530141256748", "305452558972456389917805171319089484369", "192511037506738574085974968365549446798", "241062398826369397876636144137525355479" ] }, "deprecated": false, "id": "CVE-2022-48987-68c863c6", "signature_type": "Line", "signature_version": "v1" }, { "target": { "file": "drivers/media/v4l2-core/v4l2-dv-timings.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0d73b49c4037199472b29574ae21c21aef493971", "digest": { "threshold": 0.9, "line_hashes": [ "55164845505937164073312492451268952517", "259360007680926913644079619342722967724", "126692221774240465692008525317756816544", "69164972677419014940553782638773398995", "289596351781575252184041980463042747690", "311755700945322801236645702283898545778", "262203089117455287595061942210111898538", "123857164682405855696798650898984225002", "232106759265095900075901180284902373801", "87186282690157672821661343360113172711", "317377435565282721975003857756426193866", "314097317042825353396934133530141256748", "305452558972456389917805171319089484369", "192511037506738574085974968365549446798", "241062398826369397876636144137525355479" ] }, "deprecated": false, "id": "CVE-2022-48987-7375b44b", "signature_type": "Line", "signature_version": "v1" }, { "target": { "file": "drivers/media/v4l2-core/v4l2-dv-timings.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4afc77068e36cee45b39d4fdc7513de26980f72c", "digest": { "threshold": 0.9, "line_hashes": [ "55164845505937164073312492451268952517", "259360007680926913644079619342722967724", "126692221774240465692008525317756816544", "69164972677419014940553782638773398995", "289596351781575252184041980463042747690", "311755700945322801236645702283898545778", "262203089117455287595061942210111898538", "123857164682405855696798650898984225002", "232106759265095900075901180284902373801", "87186282690157672821661343360113172711", "317377435565282721975003857756426193866", "314097317042825353396934133530141256748", "305452558972456389917805171319089484369", "192511037506738574085974968365549446798", "241062398826369397876636144137525355479" ] }, "deprecated": false, "id": "CVE-2022-48987-8852fd9f", "signature_type": "Line", "signature_version": "v1" }, { "target": { "file": "drivers/media/v4l2-core/v4l2-dv-timings.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@32f01f0306a98629508f84d7ef0d1d037bc274a2", "digest": { "threshold": 0.9, "line_hashes": [ "55164845505937164073312492451268952517", "259360007680926913644079619342722967724", "126692221774240465692008525317756816544", "69164972677419014940553782638773398995", "289596351781575252184041980463042747690", "311755700945322801236645702283898545778", "262203089117455287595061942210111898538", "123857164682405855696798650898984225002", "232106759265095900075901180284902373801", "87186282690157672821661343360113172711", "317377435565282721975003857756426193866", "314097317042825353396934133530141256748", "305452558972456389917805171319089484369", "192511037506738574085974968365549446798", "241062398826369397876636144137525355479" ] }, "deprecated": false, "id": "CVE-2022-48987-89bec44a", "signature_type": "Line", "signature_version": "v1" }, { "target": { "function": "v4l2_valid_dv_timings", "file": "drivers/media/v4l2-core/v4l2-dv-timings.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d3d14cdf1c7ae2caa3e999bae95ba99e955fb7c3", "digest": { "length": 1323.0, "function_hash": "24552138738169863162938895238603598896" }, "deprecated": false, "id": "CVE-2022-48987-c7a198af", "signature_type": "Function", "signature_version": "v1" }, { "target": { "file": "drivers/media/v4l2-core/v4l2-dv-timings.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d3d14cdf1c7ae2caa3e999bae95ba99e955fb7c3", "digest": { "threshold": 0.9, "line_hashes": [ "55164845505937164073312492451268952517", "259360007680926913644079619342722967724", "126692221774240465692008525317756816544", "69164972677419014940553782638773398995", "289596351781575252184041980463042747690", "311755700945322801236645702283898545778", "262203089117455287595061942210111898538", "123857164682405855696798650898984225002", "232106759265095900075901180284902373801", "87186282690157672821661343360113172711", "317377435565282721975003857756426193866", "314097317042825353396934133530141256748", "305452558972456389917805171319089484369", "192511037506738574085974968365549446798", "241062398826369397876636144137525355479" ] }, "deprecated": false, "id": "CVE-2022-48987-d1e668bc", "signature_type": "Line", "signature_version": "v1" }, { "target": { "file": "drivers/media/v4l2-core/v4l2-dv-timings.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6fb8bc29bfa80707994a63cc97e2f9920e0b0608", "digest": { "threshold": 0.9, "line_hashes": [ "55164845505937164073312492451268952517", "259360007680926913644079619342722967724", "126692221774240465692008525317756816544", "69164972677419014940553782638773398995", "289596351781575252184041980463042747690", "311755700945322801236645702283898545778", "262203089117455287595061942210111898538", "123857164682405855696798650898984225002", "232106759265095900075901180284902373801", "87186282690157672821661343360113172711", "317377435565282721975003857756426193866", "314097317042825353396934133530141256748", "305452558972456389917805171319089484369", "192511037506738574085974968365549446798", "241062398826369397876636144137525355479" ] }, "deprecated": false, "id": "CVE-2022-48987-d9dc02c1", "signature_type": "Line", "signature_version": "v1" }, { "target": { "function": "v4l2_valid_dv_timings", "file": "drivers/media/v4l2-core/v4l2-dv-timings.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a2b56627c0d13009e02f6f2c0206c0451ed19a0e", "digest": { "length": 1323.0, "function_hash": "24552138738169863162938895238603598896" }, "deprecated": false, "id": "CVE-2022-48987-e0bdc9d6", "signature_type": "Function", "signature_version": "v1" }, { "target": { "function": "v4l2_valid_dv_timings", "file": "drivers/media/v4l2-core/v4l2-dv-timings.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@32f01f0306a98629508f84d7ef0d1d037bc274a2", "digest": { "length": 1323.0, "function_hash": "24552138738169863162938895238603598896" }, "deprecated": false, "id": "CVE-2022-48987-e0db02ba", "signature_type": "Function", "signature_version": "v1" }, { "target": { "function": "v4l2_valid_dv_timings", "file": "drivers/media/v4l2-core/v4l2-dv-timings.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2572ab14b73aa45b6ae7e4c089ccf119fed5cf89", "digest": { "length": 1323.0, "function_hash": "24552138738169863162938895238603598896" }, "deprecated": false, "id": "CVE-2022-48987-e6c09a8e", "signature_type": "Function", "signature_version": "v1" }, { "target": { "function": "v4l2_valid_dv_timings", "file": "drivers/media/v4l2-core/v4l2-dv-timings.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6fb8bc29bfa80707994a63cc97e2f9920e0b0608", "digest": { "length": 1323.0, "function_hash": "24552138738169863162938895238603598896" }, "deprecated": false, "id": "CVE-2022-48987-e91f2912", "signature_type": "Function", "signature_version": "v1" }, { "target": { "function": "v4l2_valid_dv_timings", "file": "drivers/media/v4l2-core/v4l2-dv-timings.c" }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0d73b49c4037199472b29574ae21c21aef493971", "digest": { "length": 1323.0, "function_hash": "24552138738169863162938895238603598896" }, "deprecated": false, "id": "CVE-2022-48987-e9bbe24b", "signature_type": "Function", "signature_version": "v1" } ] }