@@ -83,13 +83,17 @@ def check
8383 print_status ( 'Unable to determine host OS, this check method is unlikely to be accurate if the host isn\'t Ubuntu' )
8484 release = kernel_release
8585 # https://people.canonical.com/~ubuntu-security/cve/2022/CVE-2022-0492
86- release_short = Rex ::Version . new ( release . split ( '-' ) . first )
87- release_long = Rex ::Version . new ( release . split ( '-' ) [ 0 ..1 ] . join ( '-' ) )
88- if release_short >= Rex ::Version . new ( '5.13.0' ) && release_long < Rex ::Version . new ( '5.13.0-37.42' ) || # Ubuntu 21.10
89- release_short >= Rex ::Version . new ( '5.4.0' ) && release_long < Rex ::Version . new ( '5.4.0-105.119' ) || # Ubuntu 20.04 LTS
90- release_short >= Rex ::Version . new ( '4.15.0' ) && release_long < Rex ::Version . new ( '4.15.0-173.182' ) || # Ubuntu 18.04 LTS
91- release_short >= Rex ::Version . new ( '4.4.0' ) && release_long < Rex ::Version . new ( '4.4.0-222.255' ) # Ubuntu 16.04 ESM
92- return CheckCode ::Vulnerable ( "IF host OS is Ubuntu, kernel version #{ release } is vulnerable" )
86+ begin
87+ release_short = Rex ::Version . new ( release . split ( '-' ) . first )
88+ release_long = Rex ::Version . new ( release . split ( '-' ) [ 0 ..1 ] . join ( '-' ) )
89+ if release_short >= Rex ::Version . new ( '5.13.0' ) && release_long < Rex ::Version . new ( '5.13.0-37.42' ) || # Ubuntu 21.10
90+ release_short >= Rex ::Version . new ( '5.4.0' ) && release_long < Rex ::Version . new ( '5.4.0-105.119' ) || # Ubuntu 20.04 LTS
91+ release_short >= Rex ::Version . new ( '4.15.0' ) && release_long < Rex ::Version . new ( '4.15.0-173.182' ) || # Ubuntu 18.04 LTS
92+ release_short >= Rex ::Version . new ( '4.4.0' ) && release_long < Rex ::Version . new ( '4.4.0-222.255' ) # Ubuntu 16.04 ESM
93+ return CheckCode ::Vulnerable ( "IF host OS is Ubuntu, kernel version #{ release } is vulnerable" )
94+ end
95+ rescue ArgumentError => e
96+ return CheckCode ::Safe ( "Error determining or processing kernel release (#{ release } ) into known format: #{ e } " )
9397 end
9498
9599 CheckCode ::Safe ( "Kernel version #{ release } may not be vulnerable depending on the host OS" )
0 commit comments