Version in base suite: 1.28-1 Base version: snakeyaml_1.28-1 Target version: snakeyaml_1.28-1+deb11u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/s/snakeyaml/snakeyaml_1.28-1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/s/snakeyaml/snakeyaml_1.28-1+deb11u1.dsc changelog | 10 ++ patches/CVE-2022-25857.patch | 173 ++++++++++++++++++++++++++++++++++ patches/CVE-2022-38750.patch | 66 +++++++++++++ patches/CVE-2022-38751.patch | 215 +++++++++++++++++++++++++++++++++++++++++++ patches/series | 3 5 files changed, 467 insertions(+) diff -Nru snakeyaml-1.28/debian/changelog snakeyaml-1.28/debian/changelog --- snakeyaml-1.28/debian/changelog 2021-02-28 21:49:25.000000000 +0000 +++ snakeyaml-1.28/debian/changelog 2023-02-19 16:05:00.000000000 +0000 @@ -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 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 00:00:00.000000000 +0000 +++ snakeyaml-1.28/debian/patches/CVE-2022-25857.patch 2023-02-19 16:05:00.000000000 +0000 @@ -0,0 +1,173 @@ +From: Markus Koschany +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 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 00:00:00.000000000 +0000 +++ snakeyaml-1.28/debian/patches/CVE-2022-38750.patch 2023-02-19 16:05:00.000000000 +0000 @@ -0,0 +1,66 @@ +From: Markus Koschany +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 00:00:00.000000000 +0000 +++ snakeyaml-1.28/debian/patches/CVE-2022-38751.patch 2023-02-19 16:05:00.000000000 +0000 @@ -0,0 +1,215 @@ +From: Markus Koschany +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> yamlImplicitResolvers = new HashMap>(); + + 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 curr = yamlImplicitResolvers.get(null); + if (curr == null) { + curr = new ArrayList(); + 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(); + 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 00:00:00.000000000 +0000 +++ snakeyaml-1.28/debian/patches/series 2023-02-19 16:05:00.000000000 +0000 @@ -0,0 +1,3 @@ +CVE-2022-38750.patch +CVE-2022-38751.patch +CVE-2022-25857.patch