<?xml version="1.0" encoding="UTF-8"?>
<cvrfdoc xmlns="http://www.icasi.org/CVRF/schema/cvrf/1.1" xmlns:cvrf="http://www.icasi.org/CVRF/schema/cvrf/1.1">
  <DocumentTitle xml:lang="en">Security update for golang-github-prometheus-alertmanager</DocumentTitle>
  <DocumentType>SUSE Patch</DocumentType>
  <DocumentPublisher Type="Vendor">
    <ContactDetails>security@suse.de</ContactDetails>
    <IssuingAuthority>SUSE Security Team</IssuingAuthority>
  </DocumentPublisher>
  <DocumentTracking>
    <Identification>
      <ID>SUSE-SU-2022:2139-1</ID>
    </Identification>
    <Status>Final</Status>
    <Version>1</Version>
    <RevisionHistory>
      <Revision>
        <Number>1</Number>
        <Date>2022-06-20T12:56:16Z</Date>
        <Description>current</Description>
      </Revision>
    </RevisionHistory>
    <InitialReleaseDate>2022-06-20T12:56:16Z</InitialReleaseDate>
    <CurrentReleaseDate>2022-06-20T12:56:16Z</CurrentReleaseDate>
    <Generator>
      <Engine>cve-database/bin/generate-cvrf.pl</Engine>
      <Date>2017-02-24T01:00:00Z</Date>
    </Generator>
  </DocumentTracking>
  <DocumentNotes>
    <Note Title="Topic" Type="Summary" Ordinal="1" xml:lang="en">Security update for golang-github-prometheus-alertmanager</Note>
    <Note Title="Details" Type="General" Ordinal="2" xml:lang="en">This update for golang-github-prometheus-alertmanager fixes the following issues:

Update golang-github-prometheus-alertmanager from version 0.21.0 to version 0.23.0 (bsc#1196338, jsc#SLE-24077)

- CVE-2022-21698: Denial of service using InstrumentHandlerCounter
- Update vendor tarball with prometheus/client_golang 1.11.1
- Update required Go version to 1.16
- Use %autosetup macro
- Update to version 0.23.0:
  * Release 0.23.0
  * Release 0.23.0-rc.0
  * amtool: Detect version drift and warn users (#2672)
  * Add ability to skip TLS verification for amtool (#2663)
  * Fix empty isEqual in amtool. (#2668)
  * Fix main tests (#2670)
  * cli: add new template render command (#2538)
  * OpsGenie: refer to alert instead of incident (#2609)
  * Docs: target_match and source_match are DEPRECATED (#2665)
  * Fix test not waiting for cluster member to be ready
- Add go_modules to _service.
- Added hardening to systemd service(s) with a modified prometheus-alertmanager.service (bsc#1181400)
</Note>
    <Note Title="Terms of Use" Type="Legal Disclaimer" Ordinal="3" xml:lang="en">The CVRF data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).</Note>
    <Note Title="Patchnames" Type="Details" Ordinal="4" xml:lang="en">Container ses/7.1/ceph/prometheus-alertmanager:latest-2022-2139,SUSE-2022-2139,SUSE-SLE-Manager-Tools-15-2022-2139,SUSE-SLE-Module-SUSE-Manager-Proxy-4.1-2022-2139,SUSE-SLE-Module-SUSE-Manager-Proxy-4.2-2022-2139,SUSE-SLE-Module-SUSE-Manager-Proxy-4.3-2022-2139,SUSE-Storage-6-2022-2139,openSUSE-SLE-15.3-2022-2139,openSUSE-SLE-15.4-2022-2139</Note>
  </DocumentNotes>
  <DocumentDistribution xml:lang="en">Copyright SUSE LLC under the Creative Commons License 4.0 with Attribution (CC-BY-4.0)</DocumentDistribution>
  <DocumentReferences>
    <Reference Type="Self">
      <URL>https://www.suse.com/support/update/announcement/2022/suse-su-20222139-1/</URL>
      <Description>Link for SUSE-SU-2022:2139-1</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://lists.suse.com/pipermail/sle-security-updates/2022-June/011314.html</URL>
      <Description>E-Mail link for SUSE-SU-2022:2139-1</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://www.suse.com/support/security/rating/</URL>
      <Description>SUSE Security Ratings</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://bugzilla.suse.com/1181400</URL>
      <Description>SUSE Bug 1181400</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://bugzilla.suse.com/1196338</URL>
      <Description>SUSE Bug 1196338</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://www.suse.com/security/cve/CVE-2022-21698/</URL>
      <Description>SUSE CVE CVE-2022-21698 page</Description>
    </Reference>
  </DocumentReferences>
  <ProductTree xmlns="http://www.icasi.org/CVRF/schema/prod/1.1">
    <Branch Type="Product Family" Name="Container ses/7.1/ceph/prometheus-alertmanager:latest">
      <Branch Type="Product Name" Name="Container ses/7.1/ceph/prometheus-alertmanager:latest">
        <FullProductName ProductID="Container ses/7.1/ceph/prometheus-alertmanager:latest">Container ses/7.1/ceph/prometheus-alertmanager:latest</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="SUSE Enterprise Storage 6">
      <Branch Type="Product Name" Name="SUSE Enterprise Storage 6">
        <FullProductName ProductID="SUSE Enterprise Storage 6" CPE="cpe:/o:suse:ses:6">SUSE Enterprise Storage 6</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="SUSE Manager Proxy Module 4.1">
      <Branch Type="Product Name" Name="SUSE Manager Proxy Module 4.1">
        <FullProductName ProductID="SUSE Manager Proxy Module 4.1" CPE="cpe:/o:suse:sle-module-suse-manager-proxy:4.1">SUSE Manager Proxy Module 4.1</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="SUSE Manager Proxy Module 4.2">
      <Branch Type="Product Name" Name="SUSE Manager Proxy Module 4.2">
        <FullProductName ProductID="SUSE Manager Proxy Module 4.2" CPE="cpe:/o:suse:sle-module-suse-manager-proxy:4.2">SUSE Manager Proxy Module 4.2</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="SUSE Manager Proxy Module 4.3">
      <Branch Type="Product Name" Name="SUSE Manager Proxy Module 4.3">
        <FullProductName ProductID="SUSE Manager Proxy Module 4.3" CPE="cpe:/o:suse:sle-module-suse-manager-proxy:4.3">SUSE Manager Proxy Module 4.3</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="SUSE Manager Tools 15">
      <Branch Type="Product Name" Name="SUSE Manager Tools 15">
        <FullProductName ProductID="SUSE Manager Tools 15" CPE="cpe:/o:suse:sle-manager-tools:15">SUSE Manager Tools 15</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="openSUSE Leap 15.3">
      <Branch Type="Product Name" Name="openSUSE Leap 15.3">
        <FullProductName ProductID="openSUSE Leap 15.3" CPE="cpe:/o:opensuse:leap:15.3">openSUSE Leap 15.3</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="openSUSE Leap 15.4">
      <Branch Type="Product Name" Name="openSUSE Leap 15.4">
        <FullProductName ProductID="openSUSE Leap 15.4" CPE="cpe:/o:opensuse:leap:15.4">openSUSE Leap 15.4</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Version" Name="golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1">
      <FullProductName ProductID="golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1">golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1</FullProductName>
    </Branch>
    <Relationship ProductReference="golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1" RelationType="Default Component Of" RelatesToProductReference="Container ses/7.1/ceph/prometheus-alertmanager:latest">
      <FullProductName ProductID="Container ses/7.1/ceph/prometheus-alertmanager:latest:golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1">golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1 as a component of Container ses/7.1/ceph/prometheus-alertmanager:latest</FullProductName>
    </Relationship>
    <Relationship ProductReference="golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1" RelationType="Default Component Of" RelatesToProductReference="SUSE Enterprise Storage 6">
      <FullProductName ProductID="SUSE Enterprise Storage 6:golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1">golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1 as a component of SUSE Enterprise Storage 6</FullProductName>
    </Relationship>
    <Relationship ProductReference="golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1" RelationType="Default Component Of" RelatesToProductReference="SUSE Manager Proxy Module 4.1">
      <FullProductName ProductID="SUSE Manager Proxy Module 4.1:golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1">golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1 as a component of SUSE Manager Proxy Module 4.1</FullProductName>
    </Relationship>
    <Relationship ProductReference="golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1" RelationType="Default Component Of" RelatesToProductReference="SUSE Manager Proxy Module 4.2">
      <FullProductName ProductID="SUSE Manager Proxy Module 4.2:golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1">golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1 as a component of SUSE Manager Proxy Module 4.2</FullProductName>
    </Relationship>
    <Relationship ProductReference="golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1" RelationType="Default Component Of" RelatesToProductReference="SUSE Manager Proxy Module 4.3">
      <FullProductName ProductID="SUSE Manager Proxy Module 4.3:golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1">golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1 as a component of SUSE Manager Proxy Module 4.3</FullProductName>
    </Relationship>
    <Relationship ProductReference="golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1" RelationType="Default Component Of" RelatesToProductReference="SUSE Manager Tools 15">
      <FullProductName ProductID="SUSE Manager Tools 15:golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1">golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1 as a component of SUSE Manager Tools 15</FullProductName>
    </Relationship>
    <Relationship ProductReference="golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.3">
      <FullProductName ProductID="openSUSE Leap 15.3:golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1">golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1 as a component of openSUSE Leap 15.3</FullProductName>
    </Relationship>
    <Relationship ProductReference="golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.4">
      <FullProductName ProductID="openSUSE Leap 15.4:golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1">golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1 as a component of openSUSE Leap 15.4</FullProductName>
    </Relationship>
  </ProductTree>
  <Vulnerability xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1" Ordinal="1">
    <Notes>
      <Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">client_golang is the instrumentation library for Go applications in Prometheus, and the promhttp package in client_golang provides tooling around HTTP servers and clients. In client_golang prior to version 1.11.1, HTTP server is susceptible to a Denial of Service through unbounded cardinality, and potential memory exhaustion, when handling requests with non-standard HTTP methods. In order to be affected, an instrumented software must use any of `promhttp.InstrumentHandler*` middleware except `RequestsInFlight`; not filter any specific methods (e.g GET) before middleware; pass metric with `method` label name to our middleware; and not have any firewall/LB/proxy that filters away requests with unknown `method`. client_golang version 1.11.1 contains a patch for this issue. Several workarounds are available, including removing the `method` label name from counter/gauge used in the InstrumentHandler; turning off affected promhttp handlers; adding custom middleware before promhttp handler that will sanitize the request method given by Go http.Request; and using a reverse proxy or web application firewall, configured to only allow a limited set of methods.</Note>
    </Notes>
    <CVE>CVE-2022-21698</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>Container ses/7.1/ceph/prometheus-alertmanager:latest:golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1</ProductID>
        <ProductID>SUSE Enterprise Storage 6:golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1</ProductID>
        <ProductID>SUSE Manager Proxy Module 4.1:golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1</ProductID>
        <ProductID>SUSE Manager Proxy Module 4.2:golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1</ProductID>
        <ProductID>SUSE Manager Proxy Module 4.3:golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1</ProductID>
        <ProductID>SUSE Manager Tools 15:golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1</ProductID>
        <ProductID>openSUSE Leap 15.3:golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1</ProductID>
        <ProductID>openSUSE Leap 15.4:golang-github-prometheus-alertmanager-0.23.0-150100.4.7.1</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>important</Description>
      </Threat>
    </Threats>
    <Remediations>
      <Remediation Type="Vendor Fix">
        <Description xml:lang="en">To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
</Description>
        <URL>https://www.suse.com/support/update/announcement/2022/suse-su-20222139-1/</URL>
      </Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.suse.com/security/cve/CVE-2022-21698.html</URL>
        <Description>CVE-2022-21698</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/1196338</URL>
        <Description>SUSE Bug 1196338</Description>
      </Reference>
    </References>
  </Vulnerability>
</cvrfdoc>
