Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=b899d8f7dd0740320fe3c5f4596b177e9f5e938f

commit b899d8f7dd0740320fe3c5f4596b177e9f5e938f
Author: kikadf <[email protected]>
Date:   Mon Apr 14 14:25:47 2014 +0200

libyaml-0.1.5-2-x86_64

* Fix CVE-2014-2525

diff --git a/source/lib-extra/libyaml/CVE-2014-2525.patch 
b/source/lib-extra/libyaml/CVE-2014-2525.patch
new file mode 100644
index 0000000..4b3e362
--- /dev/null
+++ b/source/lib-extra/libyaml/CVE-2014-2525.patch
@@ -0,0 +1,36 @@
+Description: CVE-2014-2525: Heap overflow when parsing YAML tags
+  The heap overflow is caused by not properly expanding a string before
+  writing to it in function yaml_parser_scan_uri_escapes in scanner.c.
+Origin: upstream
+Last-Update: 2014-03-20
+Applied-Upstream: 0.1.6
+
+--- a/src/scanner.c
++++ b/src/scanner.c
+@@ -2629,6 +2629,9 @@
+         /* Check if it is a URI-escape sequence. */
+
+         if (CHECK(parser->buffer, '%')) {
++            if (!STRING_EXTEND(parser, string))
++                goto error;
++
+             if (!yaml_parser_scan_uri_escapes(parser,
+                         directive, start_mark, &string)) goto error;
+         }
+--- a/src/yaml_private.h
++++ b/src/yaml_private.h
+@@ -133,9 +133,12 @@
+      (string).start = (string).pointer = (string).end = 0)
+
+ #define STRING_EXTEND(context,string)                                         
  \
+-    (((string).pointer+5 < (string).end)                                      
  \
++    ((((string).pointer+5 < (string).end)                                     
  \
+         || yaml_string_extend(&(string).start,                                
  \
+-            &(string).pointer, &(string).end))
++            &(string).pointer, &(string).end)) ?                              
  \
++         1 :                                                                  
  \
++        ((context)->error = YAML_MEMORY_ERROR,                                
  \
++         0))
+
+ #define CLEAR(context,string)                                                 
  \
+     ((string).pointer = (string).start,                                       
  \
diff --git a/source/lib-extra/libyaml/FrugalBuild 
b/source/lib-extra/libyaml/FrugalBuild
index b9fbdd4..91f01c1 100644
--- a/source/lib-extra/libyaml/FrugalBuild
+++ b/source/lib-extra/libyaml/FrugalBuild
@@ -1,10 +1,12 @@
# Compiling Time: 0.11 SBU
# Maintainer: Slown <[email protected]>

+options+=('asneeded')
+
pkgname=libyaml
_F_archive_name="yaml"
pkgver=0.1.5
-pkgrel=1
+pkgrel=2
pkgdesc="LibYAML is a YAML 1.1 parser and emitter written in C."
url="http://pyyaml.org/wiki/LibYAML";
depends=('glibc')
@@ -15,4 +17,9 @@ 
source=(http://pyyaml.org/download/$pkgname/$_F_archive_name-$pkgver.tar.gz)
_F_cd_path="yaml-$pkgver"
sha1sums=('8b78cb9f759c7d80db8a7328c0ebecfe34fde737')

+# FSA fix ***
+source=(${source[@]} CVE-2014-2525.patch)
+sha1sums=(${sha1sums[@]} '6065e7492bf6e4e949a4c2c70abab9595e521202')
+# ***********
+
# optimization OK
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to