Новость: Новый стабильный Linux 2.6.11.9
(Категория: Linux)
Добавил Roman I Khimov
Четверг, 12 Май 2005, 12:47

Грег Кроа-Хартман (Greg KH) объявил о выходе новой версии -stable ветки ядра Linux. Выход ее связан с обнаруженной недавно проблемой в безопасности ядра, патч для которой включен в эту версию. Также, из нее ушел патч, представленный в предыдущей версии (2.6.11.8), который вызывал проблемы с разделами (хотя это проблема с i2c), обновлена документация в части сообщения об ошибках в безопасности, плюс, вошел еще один патч, связанный с безопасностью и уже наличествующий в 2.6.12-rc4.

Патч 2.6.11.8 -> 2.6.11.9 следует далее, вместе с небольшим changelog'ом, а патч 2.6.11 -> 2.6.11.9 доступен на kernel.org.

Changelog:
[html]
 Documentation/SecurityBugs |   38 ++++++++++++++++++++++++++++++++++++++
 MAINTAINERS                |    5 +++++
 Makefile                   |    2 +-
 REPORTING-BUGS             |    4 ++++
 fs/binfmt_elf.c            |    4 ++--
 fs/partitions/msdos.c      |    5 -----
 kernel/exit.c              |    2 --
 7 files changed, 50 insertions(+), 10 deletions(-)



Summary of changes from v2.6.11.8 to v2.6.11.9
==============================================

Andrew Morton:
  o Remove bogus BUG() in kernel/exit.c

Chris Wright:
  o Security contact info

Greg Kroah-Hartman:
  o Cset exclude:
    khali**AT**linux-fr.org[gregkh]|ChangeSet|20050430010004|65088
  o fix Linux kernel ELF core dump privilege elevation
  o Linux 2.6.11.9

Jean Delvare:
  o I2C: Fix incorrect sysfs file permissions in it87 and via686a
    drivers
[/html]


Патч 2.6.11.8 -> 2.6.11.9:
[html]
diff -Nru a/Documentation/SecurityBugs b/Documentation/SecurityBugs
--- /dev/null   Wed Dec 31 16:00:00 196900
+++ b/Documentation/SecurityBugs        2005-05-11 15:43:56 -07:00
@@ -0,0 +1,38 @@
+Linux kernel developers take security very seriously.  As such, we'd
+like to know when a security bug is found so that it can be fixed and
+disclosed as quickly as possible.  Please report security bugs to the
+Linux kernel security team.
+
+1) Contact
+
+The Linux kernel security team can be contacted by email at
+<security@kernel.org>.  This is a private list of security officers
+who will help verify the bug report and develop and release a fix.
+It is possible that the security team will bring in extra help from
+area maintainers to understand and fix the security vulnerability.
+
+As it is with any bug, the more information provided the easier it
+will be to diagnose and fix.  Please review the procedure outlined in
+REPORTING-BUGS if you are unclear about what information is helpful.
+Any exploit code is very helpful and will not be released without
+consent from the reporter unless it has already been made public.
+
+2) Disclosure
+
+The goal of the Linux kernel security team is to work with the
+bug submitter to bug resolution as well as disclosure.  We prefer
+to fully disclose the bug as soon as possible.  It is reasonable to
+delay disclosure when the bug or the fix is not yet fully understood,
+the solution is not well-tested or for vendor coordination.  However, we
+expect these delays to be short, measurable in days, not weeks or months.
+A disclosure date is negotiated by the security team working with the
+bug submitter as well as vendors.  However, the kernel security team
+holds the final say when setting a disclosure date.  The timeframe for
+disclosure is from immediate (esp. if it's already publically known)
+to a few weeks.  As a basic default policy, we expect report date to
+disclosure date to be on the order of 7 days.
+
+3) Non-disclosure agreements
+
+The Linux kernel security team is not a formal body and therefore unable
+to enter any non-disclosure agreements.
diff -Nru a/MAINTAINERS b/MAINTAINERS
--- a/MAINTAINERS       2005-05-11 15:43:56 -07:00
+++ b/MAINTAINERS       2005-05-11 15:43:56 -07:00
@@ -1966,6 +1966,11 @@
 W:     http://www.weinigel.se
 S:     Supported
 
+SECURITY CONTACT
+P:     Security Officers
+M:     security@kernel.org
+S:     Supported
+
 SELINUX SECURITY MODULE
 P:     Stephen Smalley
 M:     sds@epoch.ncsc.mil
diff -Nru a/Makefile b/Makefile
--- a/Makefile  2005-05-11 15:43:56 -07:00
+++ b/Makefile  2005-05-11 15:43:56 -07:00
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 6
 SUBLEVEL = 11
-EXTRAVERSION = .8
+EXTRAVERSION = .9
 NAME=Woozy Beaver
 
 # *DOCUMENTATION*
diff -Nru a/REPORTING-BUGS b/REPORTING-BUGS
--- a/REPORTING-BUGS    2005-05-11 15:43:56 -07:00
+++ b/REPORTING-BUGS    2005-05-11 15:43:56 -07:00
@@ -16,6 +16,10 @@
 describe how to recreate it. That is worth even more than the oops itself.
 The list of maintainers is in the MAINTAINERS file in this directory.
 
+      If it is a security bug, please copy the Security Contact listed
+in the MAINTAINERS file.  They can help coordinate bugfix and disclosure.
+See Documentation/SecurityBugs for more infomation.
+
       If you are totally stumped as to whom to send the report, send it to
 linux-kernel@vger.kernel.org. (For more information on the linux-kernel
 mailing list see http://www.tux.org/lkml/).
diff -Nru a/fs/binfmt_elf.c b/fs/binfmt_elf.c
--- a/fs/binfmt_elf.c   2005-05-11 15:43:56 -07:00
+++ b/fs/binfmt_elf.c   2005-05-11 15:43:56 -07:00
@@ -257,7 +257,7 @@
        }
 
        /* Populate argv and envp */
-       p = current->mm->arg_start;
+       p = current->mm->arg_end = current->mm->arg_start;
        while (argc-- > 0) {
                size_t len;
                __put_user((elf_addr_t)p, argv++);
@@ -1279,7 +1279,7 @@
 static int fill_psinfo(struct elf_prpsinfo *psinfo, struct task_struct *p,
                       struct mm_struct *mm)
 {
-       int i, len;
+       unsigned int i, len;
        
        /* first copy the parameters from user space */
        memset(psinfo, 0, sizeof(struct elf_prpsinfo));
diff -Nru a/fs/partitions/msdos.c b/fs/partitions/msdos.c
--- a/fs/partitions/msdos.c     2005-05-11 15:43:56 -07:00
+++ b/fs/partitions/msdos.c     2005-05-11 15:43:56 -07:00
@@ -114,9 +114,6 @@
                 */
                for (i=0; i<4; i++, p++) {
                        u32 offs, size, next;
-
-                       if (SYS_IND(p) == 0)
-                               continue;
                        if (!NR_SECTS(p) || is_extended_partition(p))
                                continue;
 
@@ -433,8 +430,6 @@
        for (slot = 1 ; slot <= 4 ; slot++, p++) {
                u32 start = START_SECT(p)*sector_size;
                u32 size = NR_SECTS(p)*sector_size;
-               if (SYS_IND(p) == 0)
-                       continue;
                if (!size)
                        continue;
                if (is_extended_partition(p)) {
diff -Nru a/kernel/exit.c b/kernel/exit.c
--- a/kernel/exit.c     2005-05-11 15:43:56 -07:00
+++ b/kernel/exit.c     2005-05-11 15:43:56 -07:00
@@ -516,8 +516,6 @@
         */
        BUG_ON(p == reaper || reaper->exit_state >= EXIT_ZOMBIE);
        p->real_parent = reaper;
-       if (p->parent == p->real_parent)
-               BUG();
 }
 
 static inline void reparent_thread(task_t *p, task_t *father, int traced)
[/html]



Источник этой новости Центр информации по операционным системам
( http://www.osrc.info/news.php?extend.2392 )