diff --git a/changes/23557-minio b/changes/23557-minio new file mode 100644 index 0000000000..2fa00913f4 --- /dev/null +++ b/changes/23557-minio @@ -0,0 +1 @@ +* fixed issue where minio software was not scanned for vulnerabilities correctly because of unexpected trailing characters in the version string \ No newline at end of file diff --git a/server/service/osquery_utils/queries.go b/server/service/osquery_utils/queries.go index bc3dca255f..67b8047e3a 100644 --- a/server/service/osquery_utils/queries.go +++ b/server/service/osquery_utils/queries.go @@ -1689,7 +1689,12 @@ var ( return s.Name == "minio" && strings.Contains(s.Version, "RELEASE.") }, mutateSoftware: func(s *fleet.Software, logger log.Logger) { + // trim the "RELEASE." prefix from the version s.Version = strings.TrimPrefix(s.Version, "RELEASE.") + // trim any unexpected trailing characters + if idx := strings.Index(s.Version, "_"); idx != -1 { + s.Version = s.Version[:idx] + } }, }, { diff --git a/server/service/osquery_utils/queries_test.go b/server/service/osquery_utils/queries_test.go index a1c366dfe0..9487883516 100644 --- a/server/service/osquery_utils/queries_test.go +++ b/server/service/osquery_utils/queries_test.go @@ -1920,6 +1920,18 @@ func TestSanitizeSoftware(t *testing.T) { Version: "2020-03-10T00-00-00Z", }, }, + { + name: "minio with trailing garbage", + h: &fleet.Host{}, + s: &fleet.Software{ + Name: "minio", + Version: "RELEASE.2022-03-10T00-00-00Z_1", + }, + sanitized: &fleet.Software{ + Name: "minio", + Version: "2022-03-10T00-00-00Z", + }, + }, { name: "JetBrains non-EAP", h: &fleet.Host{},