Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 637190 Details for
Bug 867790
CVE-2012-4527 mcrypt: stack-based buffer overflow by encryption / decryption of overly long file names
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
PATH_MAX+1k buffer. Do use buf length in snprintf calls
CVE-2012-4527.diff (text/plain), 3.65 KB, created by
contact_redhat
on 2012-11-02 18:16:43 UTC
(
hide
)
Description:
PATH_MAX+1k buffer. Do use buf length in snprintf calls
Filename:
MIME Type:
Creator:
contact_redhat
Created:
2012-11-02 18:16:43 UTC
Size:
3.65 KB
patch
obsolete
>Description: [CVE-2012-4527] Stack-based buffer overflow with long file names > . > A buffer overflow in mcrypt version 2.6.8 and earlier due to long filenames. > If a user were tricked into attempting to encrypt/decrypt specially crafted > long filename(s), this flaw would cause a stack-based buffer overflow that > could potentially lead to arbitrary code execution. > . > Note that this is caught by FORTIFY_SOURCE, which makes this a crash-only > bug on wheezy. >Author: Attila Bogar, Jean-Michel Vourgère <jmv_deb@nirgal.com> >Origin: https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2012-4527 >Bug: CVE-2012-4527 >Bug-Debian: http://bugs.debian.org/690924 >Forwarded: no >Last-Update: 2012-11-01 >Index: mcrypt-2.6.8/src/mcrypt.c >=================================================================== >--- mcrypt-2.6.8.orig/src/mcrypt.c >+++ mcrypt-2.6.8/src/mcrypt.c >@@ -41,10 +41,13 @@ > # include <time.h> > #endif > >+/* Temporary error message can contain one file name and 1k of text */ >+#define ERRWIDTH ((PATH_MAX)+1024) >+ > static char rcsid[] = > "$Id: mcrypt.c,v 1.2 2007/11/07 17:10:21 nmav Exp $"; > >-char tmperr[128]; >+char tmperr[ERRWIDTH]; > unsigned int stream_flag = FALSE; > char *keymode = NULL; > char *mode = NULL; >@@ -482,7 +485,7 @@ > #ifdef HAVE_STAT > if (stream_flag == FALSE) { > if (is_normal_file(file[i]) == FALSE) { >- sprintf(tmperr, >+ snprintf(tmperr, ERRWIDTH, > _ > ("%s: %s is not a regular file. Skipping...\n"), > program_name, file[i]); >@@ -501,7 +504,7 @@ > dinfile = file[i]; > if ((isatty(fileno((FILE *) (stdin))) == 1) > && (stream_flag == TRUE) && (force == 0)) { /* not a tty */ >- sprintf(tmperr, >+ snprintf(tmperr, ERRWIDTH, > _ > ("%s: Encrypted data will not be read from a terminal.\n"), > program_name); >@@ -520,7 +523,7 @@ > einfile = file[i]; > if ((isatty(fileno((FILE *) (stdout))) == 1) > && (stream_flag == TRUE) && (force == 0)) { /* not a tty */ >- sprintf(tmperr, >+ snprintf(tmperr, ERRWIDTH, > _ > ("%s: Encrypted data will not be written to a terminal.\n"), > program_name); >@@ -544,7 +547,7 @@ > strcpy(outfile, einfile); > /* if file has already the .nc ignore it */ > if (strstr(outfile, ".nc") != NULL) { >- sprintf(tmperr, >+ snprintf(tmperr, ERRWIDTH, > _ > ("%s: file %s has the .nc suffix... skipping...\n"), > program_name, outfile); >@@ -590,10 +593,10 @@ > > if (x == 0) { > if (stream_flag == FALSE) { >- sprintf(tmperr, _("File %s was decrypted.\n"), dinfile); >+ snprintf(tmperr, ERRWIDTH, _("File %s was decrypted.\n"), dinfile); > err_warn(tmperr); > } else { >- sprintf(tmperr, _("Stdin was decrypted.\n")); >+ snprintf(tmperr, ERRWIDTH, _("Stdin was decrypted.\n")); > err_warn(tmperr); > } > #ifdef HAVE_STAT >@@ -610,7 +613,7 @@ > > } else { > if (stream_flag == FALSE) { >- sprintf(tmperr, >+ snprintf(tmperr, ERRWIDTH, > _ > ("File %s was NOT decrypted successfully.\n"), > dinfile); >@@ -636,10 +639,10 @@ > > if (x == 0) { > if (stream_flag == FALSE) { >- sprintf(tmperr, _("File %s was encrypted.\n"), einfile); >+ snprintf(tmperr, ERRWIDTH, _("File %s was encrypted.\n"), einfile); > err_warn(tmperr); > } else { >- sprintf(tmperr, _("Stdin was encrypted.\n")); >+ snprintf(tmperr, ERRWIDTH, _("Stdin was encrypted.\n")); > err_warn(tmperr); > } > #ifdef HAVE_STAT >@@ -655,7 +658,7 @@ > > } else { > if (stream_flag == FALSE) { >- sprintf(tmperr, >+ snprintf(tmperr, ERRWIDTH, > _ > ("File %s was NOT encrypted successfully.\n"), > einfile);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 867790
:
629285
|
629286
|
635243
| 637190