Commit Graph

1034 Commits

Author SHA1 Message Date
Chase f28abfe8dd dtksh: remove needless OS defines 2019-12-15 14:07:52 -07:00
Chase cc73d03e49 dtkcmds.c: avoid c99 collision 2019-12-15 14:07:52 -07:00
Chase 3152b0bc4e dtksh: remove unused files and functions 2019-12-15 14:07:52 -07:00
Marcin Cieślak 5cebd7c4da dtdocbook/instant: fix buffer overlow on German umlaut in latin-1
One-off error:

Old buffer length was 6 for one character (3 * 1 + 3)
We need one more byte par character in the buffer for
the hex representation of it.

+0 '"'
+1 '\\'
+2 'x'
+3 'f'
+4 'c'
+5 '"'
+6 0x0 << overflow

tcl combined with RCHECK will abort because memory blocks
are allocated contiguously and we overwrite the magic marker
of the next block.
2019-11-30 10:13:43 -07:00
Jon Trulson de9d913b77 dtinfo: link proper localized (utf8) dirs 2019-11-17 15:07:14 -07:00
Jon Trulson ba68ff0a17 Merge branch 'master' into utf8-conversion after 2.3.1 release 2019-11-16 16:34:48 -07:00
Nina Didenko f75ee32e72 sym2num: don't hardcode path to cpp 2019-11-05 18:49:17 -07:00
Nina Didenko de7fe55d6a merge: don't hardcode path to gencat 2019-11-05 18:49:10 -07:00
Nina Didenko b3f3997bd1 dtinfogen: don't override PATH 2019-11-05 18:48:00 -07:00
wmoxam 14e385d175 Remove all optional compile flags from dtwm that are not referenced anywhere, and are unlikely to ever be used 2019-10-17 20:34:14 -06:00
Jon Trulson ab863f212d dtmail: fix extra format args warnings 2019-10-15 21:22:11 -06:00
Jon Trulson a38f72c0c8 dtmail: fix NULL char embedded in format string 2019-10-15 21:12:17 -06:00
wmoxam ab741a1241 'notdef' means it's not used, so we remove it 2019-10-15 20:32:13 -06:00
wmoxam de81a5b518 Remove ancient HP VUE compatibility support 2019-10-15 20:32:05 -06:00
wmoxam ca9cdf6cfc Remove 'oldcode' 2019-10-14 15:54:43 -06:00
wmoxam d380b0fac6 Remove legacysun code blocks 2019-10-14 15:54:33 -06:00
wmoxam e1e2004696 Remove unused HP_EXTENSIONS code blocks 2019-10-14 15:54:25 -06:00
Jon Trulson 7f414f5d35 dtpad: emit error on catopen() failure
This patch was manually added via a diff supplied from a user on the
CDE mailing list: Michele Ghisolfo <ghisolfo.m@gmail.com>
2019-10-14 14:42:21 -06:00
Jon Trulson 1972d3e378 dtfile: Add scroll wheel support
This patch was manually added via a diff supplied from a user on the
CDE mailing list: Michele Ghisolfo <ghisolfo.m@gmail.com>
2019-10-14 14:34:56 -06:00
Jon Trulson fd3cffcb37 dtcalc: increase highlight thickness to match Solaris CDE
This patch was manually added via a diff supplied from a user on the
CDE mailing list: Michele Ghisolfo <ghisolfo.m@gmail.com>
2019-10-14 14:30:58 -06:00
wmoxam 923951b414 Remove NOTDONE code 2019-10-14 11:57:41 -06:00
Jon Trulson 511c2bb427 Merge /u/jrubio/cdesktopenv/ branch discarded-qualifiers into master
https://sourceforge.net/p/cdesktopenv/code/merge-requests/17/
2019-10-13 17:09:04 +00:00
Jon Trulson 08a49581b7 Merge /u/jrubio/cdesktopenv/ branch delete-incomplete into master
https://sourceforge.net/p/cdesktopenv/code/merge-requests/18/
2019-10-13 17:06:14 +00:00
Jose Rubio 08cea15be5 get rid of the 'extern sys_errlist' and 'sys_nerr' in SysErrorMsg. 2019-10-13 10:23:49 +02:00
Jon Trulson 2e4deb41c0 Merge branch 'master' into utf8-conversion, after 2.3.0a release 2019-10-12 19:17:42 -06:00
Jon Trulson 34b5ee08c8 Merge /u/jrubio/cdesktopenv/ branch incompatible-pointer-types into master
https://sourceforge.net/p/cdesktopenv/code/merge-requests/16/
2019-10-12 21:43:45 +00:00
Jose Rubio 5c56c32d17 Fixes for a few -Wincompatible-pointer-types 2019-10-12 22:29:44 +02:00
Jon Trulson e05d138c4c Merge /u/jrubio/cdesktopenv/ branch int-conversion into master
https://sourceforge.net/p/cdesktopenv/code/merge-requests/14/
2019-10-11 23:58:44 +00:00
Jose Rubio c900cedbc9 Fix to delete-incomplete warnings. 2019-10-11 13:43:08 +02:00
Jose Rubio 0086a7067e Fix to compile warnings.
* discarded-qualifiers warnings.
* Function definitions, the .h doesn't match the .c.
* Added some include to ensure the .c has function definition.
2019-10-11 10:49:48 +02:00
Jose Rubio f9790767f3 Fix to different compile warnings.
Fix to multiple int-conversion
Removal of duplicated function definition in dtudcfonted/util.h
Added XtEventHandler prototypes to mtfgui
2019-10-10 19:59:40 +02:00
Jose Rubio 20ba7550cd Fix to Wenum-compare
It seems the purpose is to define a constant as an anonymous enum.
that behaviour triggers the enum  compare. Let's make it a constant.
2019-10-10 17:01:56 +02:00
Jon Trulson ddc3c8857b Merge branch 'master' into utf8-conversion 2019-09-16 13:24:18 -06:00
Jose Rubio 507665352f Link TCL libraries and restrict tcl8.6 to SuSE only. 2019-09-16 14:58:21 +02:00
Jon Trulson 1ebd1a2416 Merge /u/jrubio/cdesktopenv/ branch implicit-int into master
https://sourceforge.net/p/cdesktopenv/code/merge-requests/9/
2019-09-12 22:14:19 +00:00
Jon Trulson 6e23c81914 Merge /u/jrubio/cdesktopenv/ branch pointer-compare into master
https://sourceforge.net/p/cdesktopenv/code/merge-requests/8/
2019-09-12 22:11:52 +00:00
Jon Trulson 086672e193 Merge /u/jrubio/cdesktopenv/ branch dtksh_include_sys_sysmacros into master
https://sourceforge.net/p/cdesktopenv/code/merge-requests/10/
2019-09-12 22:02:51 +00:00
Jose Rubio 51db5ff378 Fix for deprecated warnings related to gnu libc sys macros.
The patch only includes sysmacros for linux, the only target with gnu libc to avoid regression issues.
2019-09-12 13:10:02 +02:00
Jon Trulson b53728d3b3 ksh/libast: include sys/sysmacros.h in fmtdev.c for linux systems
Fix scraped from CDE forum post:
https://sourceforge.net/p/cdesktopenv/discussion/general/thread/24d7511a39/
2019-09-11 17:39:30 -06:00
Jose Rubio f0c312b207 Fixes for warnings related to -Wimplicit-int. 2019-08-20 12:52:43 +02:00
Jose Rubio db7370b62b Cleanup of -Wpointer-compare warnings. 2019-08-19 18:02:25 +02:00
Jon Trulson 05d231606e dtprintinfo: correct another possible buffer overflow 2019-05-07 11:21:49 -06:00
Jon Trulson 30cd56ac38 dtprintinfo: Fix a potential exploitable buffer overrun
This fixes a potentially exploitable buffer overrun in dtprintinfo.
This was brought to my attention based on a 0day exploit released for
Solaris CDE.

The exploit code does not work (or build) on linux, and the overrun is
in the heap rather than the stack as on Solaris, but it's easy to see
how this could be exploited.

The following is the content of the advisory:

8<-----------------------------------------------------------

@Mediaservice.net (Cybaze Group) Security Advisory #2019-01 (2019-05-07)

         Title:	Local privilege escalation via CDE dtprintinfo
   Application:	Common Desktop Environment 2.3.0 and earlier
     Platforms:	Oracle Solaris 10 1/13 (Update 11) and earlier
   Description:	A local attacker can gain root privileges by exploiting
		a buffer overflow in CDE dtprintinfo
        Author:	Marco Ivaldi <marco.ivaldi@mediaservice.net>
   Contributor:	Dave Aitel <dave.aitel@cyxtera.com> (original discovery)
 Vendor Status:	<secalert_us@oracle.com> notified on 2019-05-05
		<cdesktopenv-devel@lists.sourceforge.net> notified on 2019-05-05
           CVE:	The Common Vulnerabilities and Exposures project has not assigned
		a name to this issue yet
    References: https://lab.mediaservice.net/advisory/2019-01-cde-dtprintinfo.txt
		https://github.com/0xdea/raptor_infiltrate19
		https://sourceforge.net/p/cdesktopenv/wiki/Home/
		https://www.oracle.com/technetwork/server-storage/solaris10/
		https://www.mediaservice.net/
		https://infiltratecon.com/

1. Abstract.

A buffer overflow in the DtPrinterAction::PrintActionExists() function in the
Common Desktop Environment 2.3.0 and earlier, as used in Oracle Solaris 10 1/13
(Update 11) and earlier, allows local users to gain root privileges via a long
printer name passed to dtprintinfo by a malicious lpstat program.

This is a 0day vulnerability demonstrated at #INFILTRATE19 on May 2nd, 2019 in
the talk "A bug's life: story of a Solaris 0day".

2. Example Attack Session.

bash-3.2$ cat /etc/release
                    Oracle Solaris 10 1/13 s10x_u11wos_24a X86
  Copyright (c) 1983, 2013, Oracle and/or its affiliates. All rights reserved.
                            Assembled 17 January 2013
bash-3.2$ uname -a
SunOS nostalgia 5.10 Generic_147148-26 i86pc i386 i86pc
bash-3.2$ id
uid=54322(raptor) gid=1(other)
bash-3.2$ gcc raptor_dtprintname_intel.c -o raptor_dtprintname_intel -Wall
bash-3.2$ ./raptor_dtprintname_intel 192.168.1.1:0
raptor_dtprintname_intel.c - dtprintinfo 0day, Solaris/Intel
Copyright (c) 2004-2019 Marco Ivaldi <raptor@0xdeadbeef.info>

Using SI_PLATFORM       : i86pc (5.10)
Using stack base        : 0x8047fff
Using rwx_mem address   : 0xfeffa004
Using sc address        : 0x8047f60
Using strcpy() address  : 0xfefe26a0

lpstat called with -v
lpstat called with -v
lpstat called with -d
uid=0(root) gid=1(other)

3. Affected Platforms.

All platforms shipping the Common Desktop Environment are potentially
affected. This includes:

* Oracle Solaris 10 1/13 (Update 11) and earlier [default installation]

According to the CDE Wiki, the following platforms are officially supported:

* All Official Ubuntu variants 12.04 - 18.04
* Debian 6, 7, 8, 9
* Fedora 17 at least
* Archlinux
* Red Hat
* Slackware 14.0
* OpenBSD
* NetBSD
* FreeBSD 9.2, 10.x, 11.x
* openSUSE Tumbleweed (gcc7)
* openSUSE Leap 4.2 (gcc4)
* SUSE 12 SP3 (gcc4)
* Solaris, OpenIndiana

4. Fix.

The upstream CDE maintainers have issued a patch for this vulnerability. Oracle
is investigating the issue via tracking# S1153109 and is expected to release a
fix for all affected-supported versions of Solaris via their quarterly Critical
Patch Update (CPU) program.

As a temporary workaround, it is possible to remove the setuid bit from the
dtprintinfo executable as follows:

bash-3.2# chmod -s /usr/dt/bin/dtprintinfo

5. Proof of Concept.

A working exploit for Oracle Solaris 10 1/13 (Update 11) Intel has been
developed as a proof of concept. Exploits for other Solaris versions and for
the SPARC architecture are also available. All exploits can be downloaded at:

https://github.com/0xdea/raptor_infiltrate19/
https://github.com/0xdea/exploits/

8<-----------------------------------------------------------
2019-05-07 11:21:49 -06:00
Jon Trulson 5cdeaf5b1f NLS: fix quote issue with various OS's in C/types/_common.dt.tmsg 2019-02-24 12:58:31 -07:00
Jon Trulson d6ece8fd00 Merge branch 'master' of ssh://git.code.sf.net/p/cdesktopenv/code 2019-02-24 12:56:10 -07:00
Jon Trulson c575ca9315 dtdockbook/instant: Add the proper paths for TCL on NetBSD
Patch submitted by Danilo Pecher <danilo.pecher@data-experts.biz>
2019-02-24 12:54:42 -07:00
Adam Sampson ae499c794e Explicitly initialise two more static pointers
"dtcm: Coverity 88006" fixed this for buf, but not for string in the
same function (and we may as well initialise string_head for consistency
too).
2019-01-26 00:07:36 +00:00
Adam Sampson 162c88b6ea Don't dereference an uninitialised pointer
This was an incorrect fix in "dtcm: Coverity 88382".
2019-01-26 00:05:54 +00:00
Adam Sampson a97ab71059 Avoid a NULL pointer dereference
"dtcm: Coverity 89051" fixed an instance of this on the previous line,
but not this one.
2019-01-26 00:03:34 +00:00
Jon Trulson 8ba629fcd1 Merge branch 'master' into utf8-conversion 2019-01-15 12:02:49 -07:00