tags 590026 + pending thanks I ended up using the first patch from Jonathan after fixing my environment to have HOME exported, and I'll upload that in a minute. Gerrit, I'm uploading to ftp-master directly since afaik you're on VAC; please find the NMU patch attached.
Thanks again for the fix, Jonathan! Cheers, Julien
diff -u git-1.7.1/debian/changelog git-1.7.1/debian/changelog --- git-1.7.1/debian/changelog +++ git-1.7.1/debian/changelog @@ -1,3 +1,12 @@ +git (1:1.7.1-1.1) unstable; urgency=high + + * Non-maintainer upload. + * debian/diff/0004-Check-size-of-path-buffer-before-writing-...diff: + new, cherry-picked from 3c9d041: setup: Check size of path buffer + before writing into it (closes: #590026, CVE-2010-2542). + + -- Jonathan Nieder <jrnie...@gmail.com> Sun, 25 Jul 2010 18:01:15 -0500 + git (1:1.7.1-1) unstable; urgency=low * debian/diff/0003-t-t7400-submodule-basic.sh-debug-output-...diff: only in patch2: unchanged: --- git-1.7.1.orig/debian/diff/0004-Check-size-of-path-buffer-before-writing-into-it.diff +++ git-1.7.1/debian/diff/0004-Check-size-of-path-buffer-before-writing-into-it.diff @@ -0,0 +1,33 @@ +From 59dfd3aab208ffc0345dd557d6682ba0753f58c1 Mon Sep 17 00:00:00 2001 +From: Greg Brockman <g...@mit.edu> +Date: Tue, 20 Jul 2010 00:46:21 -0400 +Subject: [PATCH] Check size of path buffer before writing into it + +This prevents a buffer overrun that could otherwise be triggered by +creating a file called '.git' with contents + + gitdir: (something really long) + +Signed-off-by: Greg Brockman <g...@mit.edu> +Signed-off-by: Junio C Hamano <gits...@pobox.com> +(cherry picked from commit 3c9d0414ed2db0167e6c828b547be8fc9f88fccc) +--- + setup.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/setup.c b/setup.c +index 5716d90..e70df0b 100644 +--- a/setup.c ++++ b/setup.c +@@ -170,6 +170,8 @@ static int is_git_directory(const char *suspect) + char path[PATH_MAX]; + size_t len = strlen(suspect); + ++ if (PATH_MAX <= len + strlen("/objects")) ++ die("Too long path: %.*s", 60, suspect); + strcpy(path, suspect); + if (getenv(DB_ENVIRONMENT)) { + if (access(getenv(DB_ENVIRONMENT), X_OK)) +-- +1.7.2 +
signature.asc
Description: Digital signature