diff --git a/config/os.go b/config/os.go index 71684bec..6739937a 100644 --- a/config/os.go +++ b/config/os.go @@ -369,13 +369,15 @@ func GetEOL(family, release string) (eol EOL, found bool) { case "Windows 10 Version 21H1": eol, found = EOL{StandardSupportUntil: time.Date(2022, 12, 13, 23, 59, 59, 0, time.UTC)}, true case "Windows 10 Version 21H2": - eol, found = EOL{StandardSupportUntil: time.Date(2023, 6, 13, 23, 59, 59, 0, time.UTC)}, true + eol, found = EOL{StandardSupportUntil: time.Date(2024, 6, 11, 23, 59, 59, 0, time.UTC)}, true case "Windows 10 Version 22H2": - eol, found = EOL{StandardSupportUntil: time.Date(2024, 5, 14, 23, 59, 59, 0, time.UTC)}, true + eol, found = EOL{StandardSupportUntil: time.Date(2025, 10, 14, 23, 59, 59, 0, time.UTC)}, true case "Windows 11 Version 21H2": eol, found = EOL{StandardSupportUntil: time.Date(2024, 10, 8, 23, 59, 59, 0, time.UTC)}, true case "Windows 11 Version 22H2": eol, found = EOL{StandardSupportUntil: time.Date(2025, 10, 14, 23, 59, 59, 0, time.UTC)}, true + case "Windows 11 Version 23H2": + eol, found = EOL{StandardSupportUntil: time.Date(2026, 11, 10, 23, 59, 59, 0, time.UTC)}, true case "Windows Server 2008": eol, found = EOL{StandardSupportUntil: time.Date(2011, 7, 12, 23, 59, 59, 0, time.UTC)}, true if strings.Contains(rhs, "Service Pack 2") { diff --git a/scanner/windows.go b/scanner/windows.go index 9b294188..c0542a53 100644 --- a/scanner/windows.go +++ b/scanner/windows.go @@ -854,6 +854,10 @@ var ( build: "22621", name: "Windows 11 Version 22H2", }, + { + build: "22631", + name: "Windows 11 Version 23H2", + }, }, "11": { { @@ -864,6 +868,10 @@ var ( build: "22621", name: "Windows 11 Version 22H2", }, + { + build: "22631", + name: "Windows 11 Version 23H2", + }, }, "Server": { { @@ -1401,6 +1409,10 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ {revision: "", kb: "5025279"}, {revision: "", kb: "5026413"}, {revision: "", kb: "5027275"}, + {revision: "", kb: "5028240"}, + {revision: "", kb: "5029296"}, + {revision: "", kb: "5030265"}, + {revision: "", kb: "5031408"}, }, securityOnly: []string{ "3192391", @@ -1484,6 +1496,10 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ "5025277", "5026426", "5027256", + "5028224", + "5029307", + "5030261", + "5031441", }, }, }, @@ -1612,6 +1628,10 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ {revision: "", kb: "5025285"}, {revision: "", kb: "5026415"}, {revision: "", kb: "5027271"}, + {revision: "", kb: "5028228"}, + {revision: "", kb: "5029312"}, + {revision: "", kb: "5030269"}, + {revision: "", kb: "5031419"}, }, securityOnly: []string{ "3192392", @@ -1694,6 +1714,10 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ "5025288", "5026409", "5027282", + "5028223", + "5029304", + "5030287", + "5031407", }, }, }, @@ -1824,6 +1848,10 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ {revision: "19926", kb: "5026382"}, {revision: "19983", kb: "5027230"}, {revision: "19986", kb: "5028622"}, + {revision: "20048", kb: "5028186"}, + {revision: "20107", kb: "5029259"}, + {revision: "20162", kb: "5030220"}, + {revision: "20232", kb: "5031377"}, }, }, // https://support.microsoft.com/en-us/topic/windows-10-update-history-2ad7900f-882c-1dfc-f9d7-82b7ca162010 @@ -2029,6 +2057,10 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ {revision: "5921", kb: "5026363"}, {revision: "5989", kb: "5027219"}, {revision: "5996", kb: "5028623"}, + {revision: "6085", kb: "5028169"}, + {revision: "6167", kb: "5029242"}, + {revision: "6252", kb: "5030213"}, + {revision: "6351", kb: "5031362"}, }, }, // https://support.microsoft.com/en-us/topic/windows-10-update-history-83aa43c0-82e0-92d8-1580-10642c9ed612 @@ -2403,6 +2435,10 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ {revision: "4252", kb: "5025229"}, {revision: "4377", kb: "5026362"}, {revision: "4499", kb: "5027222"}, + {revision: "4645", kb: "5028168"}, + {revision: "4737", kb: "5029247"}, + {revision: "4851", kb: "5030214"}, + {revision: "4974", kb: "5031361"}, }, }, // https://support.microsoft.com/en-us/topic/windows-10-update-history-e6058e7c-4116-38f1-b984-4fcacfba5e5d @@ -2732,6 +2768,10 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ {revision: "2846", kb: "5025221"}, {revision: "2965", kb: "5026361"}, {revision: "3086", kb: "5027215"}, + {revision: "3208", kb: "5028166"}, + {revision: "3324", kb: "5029244"}, + {revision: "3448", kb: "5030211"}, + {revision: "3570", kb: "5031356"}, }, }, // https://support.microsoft.com/en-us/topic/windows-10-update-history-8127c2c6-6edf-4fdf-8b9f-0f7be1ef3562 @@ -2754,6 +2794,14 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ {revision: "3031", kb: "5026435"}, {revision: "3086", kb: "5027215"}, {revision: "3155", kb: "5027293"}, + {revision: "3208", kb: "5028166"}, + {revision: "3271", kb: "5028244"}, + {revision: "3324", kb: "5029244"}, + {revision: "3393", kb: "5029331"}, + {revision: "3448", kb: "5030211"}, + {revision: "3516", kb: "5030300"}, + {revision: "3570", kb: "5031356"}, + {revision: "3636", kb: "5031445"}, }, }, }, @@ -2806,6 +2854,13 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ {revision: "2003", kb: "5026436"}, {revision: "2057", kb: "5027223"}, {revision: "2124", kb: "5027292"}, + {revision: "2176", kb: "5028182"}, + {revision: "2245", kb: "5028245"}, + {revision: "2295", kb: "5029253"}, + {revision: "2360", kb: "5029332"}, + {revision: "2416", kb: "5030217"}, + {revision: "2482", kb: "5030301"}, + {revision: "2538", kb: "5031358"}, }, }, // https://support.microsoft.com/en-us/topic/windows-11-version-22h2-update-history-ec4229c3-9c5f-4e75-9d6d-9025ab70fcce @@ -2832,6 +2887,20 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ {revision: "1778", kb: "5026446"}, {revision: "1848", kb: "5027231"}, {revision: "1928", kb: "5027303"}, + {revision: "1992", kb: "5028185"}, + {revision: "2070", kb: "5028254"}, + {revision: "2134", kb: "5029263"}, + {revision: "2215", kb: "5029351"}, + {revision: "2283", kb: "5030219"}, + {revision: "2361", kb: "5030310"}, + {revision: "2428", kb: "5031354"}, + {revision: "2506", kb: "5031455"}, + }, + }, + "22631": { + rollup: []windowsRelease{ + {revision: "2428", kb: ""}, + {revision: "2506", kb: "5031455"}, }, }, }, @@ -2914,6 +2983,10 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ {revision: "", kb: "5025271"}, {revision: "", kb: "5026408"}, {revision: "", kb: "5027279"}, + {revision: "", kb: "5028222"}, + {revision: "", kb: "5029318"}, + {revision: "", kb: "5030271"}, + {revision: "", kb: "5031416"}, }, securityOnly: []string{ "4457984", @@ -2975,6 +3048,10 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ "5025273", "5026427", "5027277", + "5028226", + "5029301", + "5030286", + "5031411", }, }, }, @@ -3101,6 +3178,10 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ {revision: "", kb: "5025279"}, {revision: "", kb: "5026413"}, {revision: "", kb: "5027275"}, + {revision: "", kb: "5028240"}, + {revision: "", kb: "5029296"}, + {revision: "", kb: "5030265"}, + {revision: "", kb: "5031408"}, }, securityOnly: []string{ "3192391", @@ -3184,6 +3265,10 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ "5025277", "5026426", "5027256", + "5028224", + "5029307", + "5030261", + "5031441", }, }, }, @@ -3312,6 +3397,10 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ {revision: "", kb: "5025287"}, {revision: "", kb: "5026419"}, {revision: "", kb: "5027283"}, + {revision: "", kb: "5028232"}, + {revision: "", kb: "5029295"}, + {revision: "", kb: "5030278"}, + {revision: "", kb: "5031442"}, }, securityOnly: []string{ "3192393", @@ -3394,6 +3483,10 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ "5025272", "5026411", "5027281", + "5028233", + "5029308", + "5030279", + "5031427", }, }, }, @@ -3522,6 +3615,10 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ {revision: "", kb: "5025285"}, {revision: "", kb: "5026415"}, {revision: "", kb: "5027271"}, + {revision: "", kb: "5028228"}, + {revision: "", kb: "5029312"}, + {revision: "", kb: "5030269"}, + {revision: "", kb: "5031419"}, }, securityOnly: []string{ "3192392", @@ -3604,6 +3701,10 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ "5025288", "5026409", "5027282", + "5028223", + "5029304", + "5030287", + "5031407", }, }, }, @@ -3766,6 +3867,10 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ {revision: "5921", kb: "5026363"}, {revision: "5989", kb: "5027219"}, {revision: "5996", kb: "5028623"}, + {revision: "6085", kb: "5028169"}, + {revision: "6167", kb: "5029242"}, + {revision: "6252", kb: "5030213"}, + {revision: "6351", kb: "5031362"}, }, }, }, @@ -3928,53 +4033,6 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ {revision: "1879", kb: "5001342"}, {revision: "1911", kb: "5001384"}, {revision: "1935", kb: "5003171"}, - {revision: "1971", kb: "5003217"}, - {revision: "1999", kb: "5003646"}, - {revision: "2028", kb: "5003703"}, - {revision: "2029", kb: "5004947"}, - {revision: "2061", kb: "5004244"}, - {revision: "2090", kb: "5004308"}, - {revision: "2091", kb: "5005394"}, - {revision: "2114", kb: "5005030"}, - {revision: "2145", kb: "5005102"}, - {revision: "2183", kb: "5005568"}, - {revision: "2210", kb: "5005625"}, - {revision: "2213", kb: "5005625"}, - {revision: "2237", kb: "5006672"}, - {revision: "2268", kb: "5006744"}, - {revision: "2300", kb: "5007206"}, - {revision: "2305", kb: "5008602"}, - {revision: "2330", kb: "5007266"}, - {revision: "2366", kb: "5008218"}, - {revision: "2369", kb: "5010196"}, - {revision: "2452", kb: "5009557"}, - {revision: "2458", kb: "5010791"}, - {revision: "2510", kb: "5009616"}, - {revision: "2565", kb: "5010351"}, - {revision: "2628", kb: "5010427"}, - {revision: "2686", kb: "5011503"}, - {revision: "2746", kb: "5011551"}, - {revision: "2803", kb: "5012647"}, - {revision: "2867", kb: "5012636"}, - {revision: "2928", kb: "5013941"}, - {revision: "2931", kb: "5015018"}, - {revision: "2989", kb: "5014022"}, - {revision: "3046", kb: "5014692"}, - {revision: "3113", kb: "5014669"}, - {revision: "3165", kb: "5015811"}, - {revision: "3232", kb: "5015880"}, - {revision: "3287", kb: "5016623"}, - {revision: "3346", kb: "5016690"}, - {revision: "3406", kb: "5017315"}, - {revision: "3469", kb: "5017379"}, - {revision: "3532", kb: "5018419"}, - {revision: "3534", kb: "5020438"}, - {revision: "3650", kb: "5019966"}, - {revision: "3653", kb: "5021655"}, - {revision: "3770", kb: "5021237"}, - {revision: "3772", kb: "5022554"}, - {revision: "3887", kb: "5022286"}, - {revision: "4010", kb: "5022840"}, }, }, }, @@ -4103,6 +4161,10 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ {revision: "4252", kb: "5025229"}, {revision: "4377", kb: "5026362"}, {revision: "4499", kb: "5027222"}, + {revision: "4645", kb: "5028168"}, + {revision: "4737", kb: "5029247"}, + {revision: "4851", kb: "5030214"}, + {revision: "4974", kb: "5031361"}, }, }, }, @@ -4393,6 +4455,10 @@ var windowsReleases = map[string]map[string]map[string]updateProgram{ {revision: "1668", kb: "5025230"}, {revision: "1726", kb: "5026370"}, {revision: "1787", kb: "5027225"}, + {revision: "1850", kb: "5028171"}, + {revision: "1906", kb: "5029250"}, + {revision: "1970", kb: "5030216"}, + {revision: "2031", kb: "5031364"}, }, }, }, diff --git a/scanner/windows_test.go b/scanner/windows_test.go index 7b8665a0..0ba2abae 100644 --- a/scanner/windows_test.go +++ b/scanner/windows_test.go @@ -723,7 +723,7 @@ func Test_windows_detectKBsFromKernelVersion(t *testing.T) { }, want: models.WindowsKB{ Applied: nil, - Unapplied: []string{"5020953", "5019959", "5020030", "5021233", "5022282", "5019275", "5022834", "5022906", "5023696", "5023773", "5025221", "5025297", "5026361", "5026435", "5027215", "5027293"}, + Unapplied: []string{"5020953", "5019959", "5020030", "5021233", "5022282", "5019275", "5022834", "5022906", "5023696", "5023773", "5025221", "5025297", "5026361", "5026435", "5027215", "5027293", "5028166", "5028244", "5029244", "5029331", "5030211", "5030300", "5031356", "5031445"}, }, }, { @@ -734,7 +734,7 @@ func Test_windows_detectKBsFromKernelVersion(t *testing.T) { }, want: models.WindowsKB{ Applied: nil, - Unapplied: []string{"5020953", "5019959", "5020030", "5021233", "5022282", "5019275", "5022834", "5022906", "5023696", "5023773", "5025221", "5025297", "5026361", "5026435", "5027215", "5027293"}, + Unapplied: []string{"5020953", "5019959", "5020030", "5021233", "5022282", "5019275", "5022834", "5022906", "5023696", "5023773", "5025221", "5025297", "5026361", "5026435", "5027215", "5027293", "5028166", "5028244", "5029244", "5029331", "5030211", "5030300", "5031356", "5031445"}, }, }, { @@ -745,7 +745,7 @@ func Test_windows_detectKBsFromKernelVersion(t *testing.T) { }, want: models.WindowsKB{ Applied: []string{"5019311", "5017389", "5018427", "5019509", "5018496", "5019980", "5020044", "5021255", "5022303"}, - Unapplied: []string{"5022360", "5022845", "5022913", "5023706", "5023778", "5025239", "5025305", "5026372", "5026446", "5027231", "5027303"}, + Unapplied: []string{"5022360", "5022845", "5022913", "5023706", "5023778", "5025239", "5025305", "5026372", "5026446", "5027231", "5027303", "5028185", "5028254", "5029263", "5029351", "5030219", "5030310", "5031354", "5031455"}, }, }, { @@ -756,7 +756,7 @@ func Test_windows_detectKBsFromKernelVersion(t *testing.T) { }, want: models.WindowsKB{ Applied: []string{"5005575", "5005619", "5006699", "5006745", "5007205", "5007254", "5008223", "5010197", "5009555", "5010796", "5009608", "5010354", "5010421", "5011497", "5011558", "5012604", "5012637", "5013944", "5015013", "5014021", "5014678", "5014665", "5015827", "5015879", "5016627", "5016693", "5017316", "5017381", "5018421", "5020436", "5018485", "5019081", "5021656", "5020032", "5021249", "5022553", "5022291", "5022842"}, - Unapplied: []string{"5023705", "5025230", "5026370", "5027225"}, + Unapplied: []string{"5023705", "5025230", "5026370", "5027225", "5028171", "5029250", "5030216", "5031364"}, }, }, { @@ -766,7 +766,7 @@ func Test_windows_detectKBsFromKernelVersion(t *testing.T) { osPackages: osPackages{Kernel: models.Kernel{Version: "10.0.20348.9999"}}, }, want: models.WindowsKB{ - Applied: []string{"5005575", "5005619", "5006699", "5006745", "5007205", "5007254", "5008223", "5010197", "5009555", "5010796", "5009608", "5010354", "5010421", "5011497", "5011558", "5012604", "5012637", "5013944", "5015013", "5014021", "5014678", "5014665", "5015827", "5015879", "5016627", "5016693", "5017316", "5017381", "5018421", "5020436", "5018485", "5019081", "5021656", "5020032", "5021249", "5022553", "5022291", "5022842", "5023705", "5025230", "5026370", "5027225"}, + Applied: []string{"5005575", "5005619", "5006699", "5006745", "5007205", "5007254", "5008223", "5010197", "5009555", "5010796", "5009608", "5010354", "5010421", "5011497", "5011558", "5012604", "5012637", "5013944", "5015013", "5014021", "5014678", "5014665", "5015827", "5015879", "5016627", "5016693", "5017316", "5017381", "5018421", "5020436", "5018485", "5019081", "5021656", "5020032", "5021249", "5022553", "5022291", "5022842", "5023705", "5025230", "5026370", "5027225", "5028171", "5029250", "5030216", "5031364"}, Unapplied: nil, }, },