[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1031635: marked as done (bullseye-pu: package snakeyaml/1.28-1)



Your message dated Sat, 29 Apr 2023 10:54:14 +0100
with message-id <502b8fb37ece620c9723446611a9287974ba5a0c.camel@adam-barratt.org.uk>
and subject line Closing p-u requests for fixes included in 11.7
has caused the Debian Bug report #1031635,
regarding bullseye-pu: package snakeyaml/1.28-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1031635: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1031635
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-Cc: apo@debian.org

Hi,

I would like to update snakeyaml in Bullseye. The package is currently
affected by various potential (no-dsa) security vulnerabilities. Those have
been fixed in Buster, Bookworm and Sid already. Please find attached
the debdiff.

Regards,

Markus
diff -Nru snakeyaml-1.28/debian/changelog snakeyaml-1.28/debian/changelog
--- snakeyaml-1.28/debian/changelog	2021-02-28 22:49:25.000000000 +0100
+++ snakeyaml-1.28/debian/changelog	2023-02-19 17:05:00.000000000 +0100
@@ -1,3 +1,13 @@
+snakeyaml (1.28-1+deb11u1) bullseye; urgency=medium
+
+  * Team upload.
+    Fix CVE-2022-25857, CVE-2022-38749, CVE-2022-38750 and CVE-2022-38751.
+    Several security vulnerabilities have been discovered in SnakeYaml, a YAML
+    parser for Java, which could facilitate a denial of service attack whenever
+    maliciously crafted input files are processed by SnakeYaml.
+
+ -- Markus Koschany <apo@debian.org>  Sun, 19 Feb 2023 17:05:00 +0100
+
 snakeyaml (1.28-1) unstable; urgency=medium
 
   * Team upload.
diff -Nru snakeyaml-1.28/debian/patches/CVE-2022-25857.patch snakeyaml-1.28/debian/patches/CVE-2022-25857.patch
--- snakeyaml-1.28/debian/patches/CVE-2022-25857.patch	1970-01-01 01:00:00.000000000 +0100
+++ snakeyaml-1.28/debian/patches/CVE-2022-25857.patch	2023-02-19 17:05:00.000000000 +0100
@@ -0,0 +1,173 @@
+From: Markus Koschany <apo@debian.org>
+Date: Sun, 19 Feb 2023 16:57:20 +0100
+Subject: CVE-2022-25857
+
+This is also the fix for CVE-2022-38749.
+
+Bug-Debian: https://bugs.debian.org/1019218
+Origin: https://github.com/snakeyaml/snakeyaml/commit/fc300780da21f4bb92c148bc90257201220cf174
+---
+ .../java/org/yaml/snakeyaml/LoaderOptions.java     | 15 +++++++++
+ .../java/org/yaml/snakeyaml/composer/Composer.java | 28 ++++++++++++++++
+ .../issues/issue525/FuzzyStackOverflowTest.java    | 39 ++++++++++++++++++++++
+ .../resources/fuzzer/YamlFuzzer-4626423186325504   |  1 +
+ 4 files changed, 83 insertions(+)
+ create mode 100644 src/test/java/org/yaml/snakeyaml/issues/issue525/FuzzyStackOverflowTest.java
+ create mode 100644 src/test/resources/fuzzer/YamlFuzzer-4626423186325504
+
+diff --git a/src/main/java/org/yaml/snakeyaml/LoaderOptions.java b/src/main/java/org/yaml/snakeyaml/LoaderOptions.java
+index b45780b..b62daed 100644
+--- a/src/main/java/org/yaml/snakeyaml/LoaderOptions.java
++++ b/src/main/java/org/yaml/snakeyaml/LoaderOptions.java
+@@ -23,6 +23,7 @@ public class LoaderOptions {
+     private boolean allowRecursiveKeys = false;
+     private boolean processComments = false;
+     private boolean enumCaseSensitive = true;
++    private int nestingDepthLimit = 50;
+ 
+     public boolean isAllowDuplicateKeys() {
+         return allowDuplicateKeys;
+@@ -114,4 +115,18 @@ public class LoaderOptions {
+     public void setEnumCaseSensitive(boolean enumCaseSensitive) {
+         this.enumCaseSensitive = enumCaseSensitive;
+     }
++
++    public int getNestingDepthLimit() {
++        return nestingDepthLimit;
++    }
++
++    /**
++     * Set max depth of nested collections. When the limit is exceeded an exception is thrown.
++     * Aliases/Anchors are not counted.
++     * This is to prevent a DoS attack
++     * @param nestingDepthLimit - depth to be accepted (50 by default)
++     */
++    public void setNestingDepthLimit(int nestingDepthLimit) {
++        this.nestingDepthLimit = nestingDepthLimit;
++    }
+ }
+diff --git a/src/main/java/org/yaml/snakeyaml/composer/Composer.java b/src/main/java/org/yaml/snakeyaml/composer/Composer.java
+index 2135d84..35f20c3 100644
+--- a/src/main/java/org/yaml/snakeyaml/composer/Composer.java
++++ b/src/main/java/org/yaml/snakeyaml/composer/Composer.java
+@@ -45,6 +45,7 @@ import org.yaml.snakeyaml.nodes.SequenceNode;
+ import org.yaml.snakeyaml.nodes.Tag;
+ import org.yaml.snakeyaml.parser.Parser;
+ import org.yaml.snakeyaml.resolver.Resolver;
++import org.yaml.snakeyaml.error.YAMLException;
+ 
+ /**
+  * Creates a node graph from parser events.
+@@ -62,6 +63,9 @@ public class Composer {
+     private final LoaderOptions loadingConfig;
+     private final CommentEventsCollector blockCommentsCollector;
+     private final CommentEventsCollector inlineCommentsCollector;
++    // keep the nesting of collections inside other collections
++    private int nestingDepth = 0;
++    private final int nestingDepthLimit;
+ 
+     public Composer(Parser parser, Resolver resolver) {
+         this(parser, resolver, new LoaderOptions());
+@@ -77,6 +81,7 @@ public class Composer {
+                 CommentType.BLANK_LINE, CommentType.BLOCK);
+         this.inlineCommentsCollector = new CommentEventsCollector(parser,
+                 CommentType.IN_LINE);
++        nestingDepthLimit = loadingConfig.getNestingDepthLimit();
+     }
+ 
+     /**
+@@ -186,6 +191,7 @@ public class Composer {
+         } else {
+             NodeEvent event = (NodeEvent) parser.peekEvent();
+             String anchor = event.getAnchor();
++            increaseNestingDepth();
+             // the check for duplicate anchors has been removed (issue 174)
+             if (parser.checkEvent(Event.ID.Scalar)) {
+                 node = composeScalarNode(anchor, blockComments);
+@@ -194,6 +200,7 @@ public class Composer {
+             } else {
+                 node = composeMappingNode(anchor, blockComments);
+             }
++            decreaseNestingDepth();
+         }
+         recursiveNodes.remove(parent);
+         return node;
+@@ -312,4 +319,25 @@ public class Composer {
+     protected Node composeValueNode(MappingNode node, List<CommentLine> blockComments) {
+         return composeNode(node, blockComments);
+     }
++
++    /**
++     * Increase nesting depth and fail when it exceeds the denied limit
++     */
++    private void increaseNestingDepth() {
++        if (nestingDepth > nestingDepthLimit) {
++            throw new YAMLException("Nesting Depth exceeded max " + nestingDepthLimit);
++        }
++        nestingDepth++;
++    }
++
++    /**
++     * Indicate that the collection is finished and the nesting is decreased
++     */
++    private void decreaseNestingDepth() {
++        if (nestingDepth > 0) {
++            nestingDepth--;
++        } else {
++            throw new YAMLException("Nesting Depth cannot be negative");
++        }
++    }
+ }
+diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue525/FuzzyStackOverflowTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue525/FuzzyStackOverflowTest.java
+new file mode 100644
+index 0000000..546c226
+--- /dev/null
++++ b/src/test/java/org/yaml/snakeyaml/issues/issue525/FuzzyStackOverflowTest.java
+@@ -0,0 +1,39 @@
++/**
++ * Copyright (c) 2008, SnakeYAML
++ *
++ * Licensed under the Apache License, Version 2.0 (the "License");
++ * you may not use this file except in compliance with the License.
++ * You may obtain a copy of the License at
++ *
++ *     http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++package org.yaml.snakeyaml.issues.issue525;
++
++import static org.junit.Assert.assertEquals;
++import static org.junit.Assert.assertTrue;
++import static org.junit.Assert.fail;
++
++import org.junit.Test;
++import org.yaml.snakeyaml.Util;
++import org.yaml.snakeyaml.Yaml;
++import org.yaml.snakeyaml.error.YAMLException;
++
++public class FuzzyStackOverflowTest {
++  @Test
++  public void parseOpenUnmatchedMappings() {
++    try {
++      Yaml yaml = new Yaml();
++      String strYaml = Util.getLocalResource("fuzzer/YamlFuzzer-4626423186325504");
++      yaml.load(strYaml);
++      fail("Should report invalid YAML");
++    } catch (YAMLException e) {
++      assertEquals("Nesting Depth exceeded max 50", e.getMessage());
++    }
++  }
++}
+diff --git a/src/test/resources/fuzzer/YamlFuzzer-4626423186325504 b/src/test/resources/fuzzer/YamlFuzzer-4626423186325504
+new file mode 100644
+index 0000000..8e5dac8
+--- /dev/null
++++ b/src/test/resources/fuzzer/YamlFuzzer-4626423186325504
+@@ -0,0 +1 @@
++{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{{{{{{[{{
+\ No newline at end of file
diff -Nru snakeyaml-1.28/debian/patches/CVE-2022-38750.patch snakeyaml-1.28/debian/patches/CVE-2022-38750.patch
--- snakeyaml-1.28/debian/patches/CVE-2022-38750.patch	1970-01-01 01:00:00.000000000 +0100
+++ snakeyaml-1.28/debian/patches/CVE-2022-38750.patch	2023-02-19 17:05:00.000000000 +0100
@@ -0,0 +1,66 @@
+From: Markus Koschany <apo@debian.org>
+Date: Fri, 30 Sep 2022 11:25:56 +0200
+Subject: CVE-2022-38750
+
+Test that upstream issue 526 alias CVE-2022-38750 is fixed.
+
+Origin: https://bitbucket.org/snakeyaml/snakeyaml/commits/a8a072311547574274036f4a1b91a751b397a055
+---
+ .../snakeyaml/issues/issue526/Fuzzy47027Test.java  | 38 ++++++++++++++++++++++
+ .../resources/fuzzer/YamlFuzzer-5427149240139776   |  1 +
+ 2 files changed, 39 insertions(+)
+ create mode 100644 src/test/java/org/yaml/snakeyaml/issues/issue526/Fuzzy47027Test.java
+ create mode 100644 src/test/resources/fuzzer/YamlFuzzer-5427149240139776
+
+diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue526/Fuzzy47027Test.java b/src/test/java/org/yaml/snakeyaml/issues/issue526/Fuzzy47027Test.java
+new file mode 100644
+index 0000000..782d707
+--- /dev/null
++++ b/src/test/java/org/yaml/snakeyaml/issues/issue526/Fuzzy47027Test.java
+@@ -0,0 +1,38 @@
++/**
++ * Copyright (c) 2008, SnakeYAML
++ *
++ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
++ * in compliance with the License. You may obtain a copy of the License at
++ *
++ * http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software distributed under the License
++ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
++ * or implied. See the License for the specific language governing permissions and limitations under
++ * the License.
++ */
++package org.yaml.snakeyaml.issues.issue526;
++
++import static org.junit.Assert.assertEquals;
++import static org.junit.Assert.fail;
++
++import org.junit.Test;
++import org.yaml.snakeyaml.Util;
++import org.yaml.snakeyaml.Yaml;
++import org.yaml.snakeyaml.error.YAMLException;
++
++// OSS-Fuzz - 47027
++public class Fuzzy47027Test {
++
++  @Test
++  public void parseOpenUnmatchedSequences_47027() {
++    try {
++      Yaml yaml = new Yaml();
++      String strYaml = Util.getLocalResource("fuzzer/YamlFuzzer-5427149240139776");
++      yaml.load(strYaml);
++      fail("Should report invalid YAML");
++    } catch (YAMLException e) {
++      assertEquals("Nesting Depth exceeded max 50", e.getMessage());
++    }
++  }
++}
+diff --git a/src/test/resources/fuzzer/YamlFuzzer-5427149240139776 b/src/test/resources/fuzzer/YamlFuzzer-5427149240139776
+new file mode 100644
+index 0000000..e84d07a
+--- /dev/null
++++ b/src/test/resources/fuzzer/YamlFuzzer-5427149240139776
+@@ -0,0 +1 @@
++- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
+\ No newline at end of file
diff -Nru snakeyaml-1.28/debian/patches/CVE-2022-38751.patch snakeyaml-1.28/debian/patches/CVE-2022-38751.patch
--- snakeyaml-1.28/debian/patches/CVE-2022-38751.patch	1970-01-01 01:00:00.000000000 +0100
+++ snakeyaml-1.28/debian/patches/CVE-2022-38751.patch	2023-02-19 17:05:00.000000000 +0100
@@ -0,0 +1,215 @@
+From: Markus Koschany <apo@debian.org>
+Date: Fri, 30 Sep 2022 11:28:16 +0200
+Subject: CVE-2022-38751
+
+Origin: https://bitbucket.org/snakeyaml/snakeyaml/commits/f3ab4e0f54c37ddb10f00b71d04187bb0ef1799c
+Origin: https://bitbucket.org/snakeyaml/snakeyaml/commits/6aedd33a811f7347c5dae2940e75940966f59466
+---
+ src/main/java/org/yaml/snakeyaml/Yaml.java         | 14 +++++++++
+ .../java/org/yaml/snakeyaml/resolver/Resolver.java | 28 ++++++++++--------
+ .../org/yaml/snakeyaml/resolver/ResolverTuple.java |  8 ++++-
+ .../snakeyaml/issues/issue530/Fuzzy47039Test.java  | 34 ++++++++++++++++++++++
+ .../yaml/snakeyaml/resolver/ResolverTupleTest.java |  2 +-
+ .../resources/fuzzer/YamlFuzzer-5110034188599296   |  1 +
+ 6 files changed, 73 insertions(+), 14 deletions(-)
+ create mode 100644 src/test/java/org/yaml/snakeyaml/issues/issue530/Fuzzy47039Test.java
+ create mode 100644 src/test/resources/fuzzer/YamlFuzzer-5110034188599296
+
+diff --git a/src/main/java/org/yaml/snakeyaml/Yaml.java b/src/main/java/org/yaml/snakeyaml/Yaml.java
+index f65d622..387e58a 100644
+--- a/src/main/java/org/yaml/snakeyaml/Yaml.java
++++ b/src/main/java/org/yaml/snakeyaml/Yaml.java
+@@ -634,6 +634,20 @@ public class Yaml {
+         resolver.addImplicitResolver(tag, regexp, first);
+     }
+ 
++    /**
++     * Add an implicit scalar detector. If an implicit scalar value matches the
++     * given regexp, the corresponding tag is assigned to the scalar.
++     *
++     * @param tag    tag to assign to the node
++     * @param regexp regular expression to match against
++     * @param first  a sequence of possible initial characters or null (which means
++     *               any).
++     * @param limit the max length of the value which may match the regular expression
++     */
++    public void addImplicitResolver(Tag tag, Pattern regexp, String first, int limit) {
++        resolver.addImplicitResolver(tag, regexp, first, limit);
++    }
++
+     @Override
+     public String toString() {
+         return name;
+diff --git a/src/main/java/org/yaml/snakeyaml/resolver/Resolver.java b/src/main/java/org/yaml/snakeyaml/resolver/Resolver.java
+index a8b8a06..218f1ab 100644
+--- a/src/main/java/org/yaml/snakeyaml/resolver/Resolver.java
++++ b/src/main/java/org/yaml/snakeyaml/resolver/Resolver.java
+@@ -50,23 +50,23 @@ public class Resolver {
+     protected Map<Character, List<ResolverTuple>> yamlImplicitResolvers = new HashMap<Character, List<ResolverTuple>>();
+ 
+     protected void addImplicitResolvers() {
+-        addImplicitResolver(Tag.BOOL, BOOL, "yYnNtTfFoO");
++        addImplicitResolver(Tag.BOOL, BOOL, "yYnNtTfFoO", 10);
+         /*
+          * INT must be before FLOAT because the regular expression for FLOAT
+          * matches INT (see issue 130)
+          * http://code.google.com/p/snakeyaml/issues/detail?id=130
+          */
+-        addImplicitResolver(Tag.INT, INT, "-+0123456789");
+-        addImplicitResolver(Tag.FLOAT, FLOAT, "-+0123456789.");
+-        addImplicitResolver(Tag.MERGE, MERGE, "<");
+-        addImplicitResolver(Tag.NULL, NULL, "~nN\0");
+-        addImplicitResolver(Tag.NULL, EMPTY, null);
+-        addImplicitResolver(Tag.TIMESTAMP, TIMESTAMP, "0123456789");
++        addImplicitResolver(Tag.INT, INT, "-+0123456789", 100);
++        addImplicitResolver(Tag.FLOAT, FLOAT, "-+0123456789.", 100);
++        addImplicitResolver(Tag.MERGE, MERGE, "<", 100);
++        addImplicitResolver(Tag.NULL, NULL, "~nN\0", 10);
++        addImplicitResolver(Tag.NULL, EMPTY, null, 10);
++        addImplicitResolver(Tag.TIMESTAMP, TIMESTAMP, "0123456789", 50);
+         // The following implicit resolver is only for documentation
+         // purposes.
+         // It cannot work
+         // because plain scalars cannot start with '!', '&', or '*'.
+-        addImplicitResolver(Tag.YAML, YAML, "!&*");
++        addImplicitResolver(Tag.YAML, YAML, "!&*", 10);
+     }
+ 
+     public Resolver() {
+@@ -74,13 +74,16 @@ public class Resolver {
+     }
+ 
+     public void addImplicitResolver(Tag tag, Pattern regexp, String first) {
++        addImplicitResolver(tag, regexp, first, 1024);
++    }
++    public void addImplicitResolver(Tag tag, Pattern regexp, String first, int limit) {
+         if (first == null) {
+             List<ResolverTuple> curr = yamlImplicitResolvers.get(null);
+             if (curr == null) {
+                 curr = new ArrayList<ResolverTuple>();
+                 yamlImplicitResolvers.put(null, curr);
+             }
+-            curr.add(new ResolverTuple(tag, regexp));
++            curr.add(new ResolverTuple(tag, regexp, limit));
+         } else {
+             char[] chrs = first.toCharArray();
+             for (int i = 0, j = chrs.length; i < j; i++) {
+@@ -94,7 +97,7 @@ public class Resolver {
+                     curr = new ArrayList<ResolverTuple>();
+                     yamlImplicitResolvers.put(theC, curr);
+                 }
+-                curr.add(new ResolverTuple(tag, regexp));
++                curr.add(new ResolverTuple(tag, regexp, limit));
+             }
+         }
+     }
+@@ -111,16 +114,17 @@ public class Resolver {
+                 for (ResolverTuple v : resolvers) {
+                     Tag tag = v.getTag();
+                     Pattern regexp = v.getRegexp();
+-                    if (regexp.matcher(value).matches()) {
++                    if (value.length() < v.getLimit() && regexp.matcher(value).matches()) {
+                         return tag;
+                     }
+                 }
+             }
+             if (yamlImplicitResolvers.containsKey(null)) {
++                // check null resolver
+                 for (ResolverTuple v : yamlImplicitResolvers.get(null)) {
+                     Tag tag = v.getTag();
+                     Pattern regexp = v.getRegexp();
+-                    if (regexp.matcher(value).matches()) {
++                    if (value.length() <= v.getLimit() && regexp.matcher(value).matches()) {
+                         return tag;
+                     }
+                 }
+diff --git a/src/main/java/org/yaml/snakeyaml/resolver/ResolverTuple.java b/src/main/java/org/yaml/snakeyaml/resolver/ResolverTuple.java
+index 3fbfac0..a492608 100644
+--- a/src/main/java/org/yaml/snakeyaml/resolver/ResolverTuple.java
++++ b/src/main/java/org/yaml/snakeyaml/resolver/ResolverTuple.java
+@@ -22,10 +22,12 @@ import org.yaml.snakeyaml.nodes.Tag;
+ final class ResolverTuple {
+     private final Tag tag;
+     private final Pattern regexp;
++    private final int limit;
+ 
+-    public ResolverTuple(Tag tag, Pattern regexp) {
++    public ResolverTuple(Tag tag, Pattern regexp, int limit) {
+         this.tag = tag;
+         this.regexp = regexp;
++        this.limit = limit;
+     }
+ 
+     public Tag getTag() {
+@@ -36,6 +38,10 @@ final class ResolverTuple {
+         return regexp;
+     }
+ 
++    public int getLimit() {
++        return limit;
++    }
++
+     @Override
+     public String toString() {
+         return "Tuple tag=" + tag + " regexp=" + regexp;
+diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue530/Fuzzy47039Test.java b/src/test/java/org/yaml/snakeyaml/issues/issue530/Fuzzy47039Test.java
+new file mode 100644
+index 0000000..9c09e1d
+--- /dev/null
++++ b/src/test/java/org/yaml/snakeyaml/issues/issue530/Fuzzy47039Test.java
+@@ -0,0 +1,34 @@
++/**
++ * Copyright (c) 2008, SnakeYAML
++ *
++ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
++ * in compliance with the License. You may obtain a copy of the License at
++ *
++ * http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software distributed under the License
++ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
++ * or implied. See the License for the specific language governing permissions and limitations under
++ * the License.
++ */
++package org.yaml.snakeyaml.issues.issue530;
++
++import static org.junit.Assert.assertEquals;
++
++import org.junit.Test;
++import org.yaml.snakeyaml.LoaderOptions;
++import org.yaml.snakeyaml.Util;
++import org.yaml.snakeyaml.Yaml;
++
++// Stackoverflow [OSS-Fuzz - 47039]
++public class Fuzzy47039Test {
++
++  @Test
++  public void parseKeyIndicators_47039() {
++    LoaderOptions options = new LoaderOptions();
++    Yaml yaml = new Yaml(options);
++    String strYaml = Util.getLocalResource("fuzzer/YamlFuzzer-5110034188599296");
++    String parsed = yaml.load(strYaml);
++    assertEquals(strYaml.trim(), parsed);
++  }
++}
+diff --git a/src/test/java/org/yaml/snakeyaml/resolver/ResolverTupleTest.java b/src/test/java/org/yaml/snakeyaml/resolver/ResolverTupleTest.java
+index 4cac651..a314639 100644
+--- a/src/test/java/org/yaml/snakeyaml/resolver/ResolverTupleTest.java
++++ b/src/test/java/org/yaml/snakeyaml/resolver/ResolverTupleTest.java
+@@ -24,7 +24,7 @@ import org.yaml.snakeyaml.nodes.Tag;
+ public class ResolverTupleTest extends TestCase {
+ 
+     public void testToString() {
+-        ResolverTuple tuple = new ResolverTuple(new Tag("dice"), Pattern.compile("\\d+"));
++        ResolverTuple tuple = new ResolverTuple(new Tag("dice"), Pattern.compile("\\d+"), 5);
+         assertEquals("Tuple tag=dice regexp=\\d+", tuple.toString());
+     }
+ }
+diff --git a/src/test/resources/fuzzer/YamlFuzzer-5110034188599296 b/src/test/resources/fuzzer/YamlFuzzer-5110034188599296
+new file mode 100644
+index 0000000..78f0e8e
+--- /dev/null
++++ b/src/test/resources/fuzzer/YamlFuzzer-5110034188599296
+@@ -0,0 +1 @@
++1:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:01:02:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:03:0:+
+\ No newline at end of file
diff -Nru snakeyaml-1.28/debian/patches/series snakeyaml-1.28/debian/patches/series
--- snakeyaml-1.28/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
+++ snakeyaml-1.28/debian/patches/series	2023-02-19 17:05:00.000000000 +0100
@@ -0,0 +1,3 @@
+CVE-2022-38750.patch
+CVE-2022-38751.patch
+CVE-2022-25857.patch

--- End Message ---
--- Begin Message ---
Package: release.debian.org
Version: 11.7

Hi,

Each of the updates referred to in these requests was included in this
morning's 11.7 point release.

Regards,

Adam

--- End Message ---

Reply to: