In the Linux kernel, the following vulnerability has been resolved:
drm/sun4i: dsi: Prevent underflow when computing packet sizes
Currently, the packet overhead is subtracted using unsigned arithmetic. With a short sync pulse, this could underflow and wrap around to near the maximal u16 value. Fix this by using signed subtraction. The call to max() will correctly handle any negative numbers that are produced.
Apply the same fix to the other timings, even though those subtractions are less likely to underflow.
[
{
"signature_type": "Function",
"digest": {
"function_hash": "48627143930379132078246440537978942039",
"length": 2963.0
},
"target": {
"file": "drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c",
"function": "sun6i_dsi_setup_timings"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@82a1356a933d8443139f8886f11b63c974a09a67",
"id": "CVE-2022-50036-291d0961",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "48627143930379132078246440537978942039",
"length": 2963.0
},
"target": {
"file": "drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c",
"function": "sun6i_dsi_setup_timings"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fb837f5b83461624e525727a8f4add14b201147e",
"id": "CVE-2022-50036-2e14ee3d",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"151393060087333914624769007072546335555",
"288451596861008838228873727207148642468",
"100148706314762039605685978518044799303",
"144290280337545015300350348672368230864",
"206412878240976955458329594350098032909",
"94563631576860241658520901626453602285",
"177416184805598422761267236105261424013",
"224200439382998516618623916162098800331",
"210741802751315662665315780089150715614",
"22755241025841170642370564597355787451",
"123972977186393195967496582570248374972",
"139227596911426136802795483626228955397",
"196284344713681598670853775930583780226",
"16644823937633031068198851791008051787"
]
},
"target": {
"file": "drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a1e7908f78f5a7f53f8cd83c7dcdfec974c95f26",
"id": "CVE-2022-50036-483ff9d5",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"151393060087333914624769007072546335555",
"288451596861008838228873727207148642468",
"100148706314762039605685978518044799303",
"144290280337545015300350348672368230864",
"206412878240976955458329594350098032909",
"94563631576860241658520901626453602285",
"177416184805598422761267236105261424013",
"224200439382998516618623916162098800331",
"210741802751315662665315780089150715614",
"22755241025841170642370564597355787451",
"123972977186393195967496582570248374972",
"139227596911426136802795483626228955397",
"196284344713681598670853775930583780226",
"16644823937633031068198851791008051787"
]
},
"target": {
"file": "drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@82a1356a933d8443139f8886f11b63c974a09a67",
"id": "CVE-2022-50036-494f49c3",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "48627143930379132078246440537978942039",
"length": 2963.0
},
"target": {
"file": "drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c",
"function": "sun6i_dsi_setup_timings"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@98e28de472ef248352f04f87e29e634ebb0ec240",
"id": "CVE-2022-50036-506ffd16",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "48627143930379132078246440537978942039",
"length": 2963.0
},
"target": {
"file": "drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c",
"function": "sun6i_dsi_setup_timings"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a1e7908f78f5a7f53f8cd83c7dcdfec974c95f26",
"id": "CVE-2022-50036-669b4811",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"151393060087333914624769007072546335555",
"288451596861008838228873727207148642468",
"100148706314762039605685978518044799303",
"144290280337545015300350348672368230864",
"206412878240976955458329594350098032909",
"94563631576860241658520901626453602285",
"177416184805598422761267236105261424013",
"224200439382998516618623916162098800331",
"210741802751315662665315780089150715614",
"22755241025841170642370564597355787451",
"123972977186393195967496582570248374972",
"139227596911426136802795483626228955397",
"196284344713681598670853775930583780226",
"16644823937633031068198851791008051787"
]
},
"target": {
"file": "drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fb837f5b83461624e525727a8f4add14b201147e",
"id": "CVE-2022-50036-9fa7498c",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"151393060087333914624769007072546335555",
"288451596861008838228873727207148642468",
"100148706314762039605685978518044799303",
"144290280337545015300350348672368230864",
"206412878240976955458329594350098032909",
"94563631576860241658520901626453602285",
"177416184805598422761267236105261424013",
"224200439382998516618623916162098800331",
"210741802751315662665315780089150715614",
"22755241025841170642370564597355787451",
"123972977186393195967496582570248374972",
"139227596911426136802795483626228955397",
"196284344713681598670853775930583780226",
"16644823937633031068198851791008051787"
]
},
"target": {
"file": "drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@98e28de472ef248352f04f87e29e634ebb0ec240",
"id": "CVE-2022-50036-dccfba0f",
"deprecated": false,
"signature_version": "v1"
}
]