Commit Graph

88 Commits

Author SHA1 Message Date
Jon Trulson
6b32246d06 dtsession, DtSvc: fix CVE-2020-2696/VU#308289
Marco Ivaldi <marco.ivaldi@mediaservice.net> has identified 3
vulnerabilities in CDE.

Two of them could affect our CDE (open-source version), while the 3rd
(sdtcm_convert) is Solaris specific.

The two vulnerabilities, both of which affect dtsession could allow a
local privilege escalation to root.  A POC exists for Solaris.  The
POC will not function on our CDE for two main reasons:

- the POC is Solaris specific
- The overflowed variables in question are allocated on the heap,
  whereas in Solaris these variables are located on the stack.

The first vulnerability allows an extra long palette name to be used
to cause a crash via insufficient validation in
SrvPalette.c:CheckMonitor().

The second, which has not yet been assigned a CERT CVE resides in
SmCreateDirs.c:_DtCreateDtDirs() in libDtSvc.  Due to insufficient
bounds checking, a crash or corruption can be achieved by using a very
long DISPLAY name.

This one is considered difficult to exploit, and no POC code is
available at this time.  CDE 2.x code-bases are also listed as not
vulnerable, however some work has been done anyway to do some proper
bounds checking in this function.

The following text portions are copied from the relevant advisories,
which have not been released as of this writing.

NOTE: Oracle CDE does NOT use CDE 2.3.0a or earlier as mentioned
below.  They are completely different code-bases):

Regarding CVE-2020-2692:

  A buffer overflow in the CheckMonitor() function in the Common
  Desktop Environment 2.3.0a and earlier, as distributed with Oracle
  Solaris 10 1/13 (Update 11) and earlier, allows local users to gain
  root privileges via a long palette name passed to dtsession in a
  malicious .Xdefaults file.

  Note that Oracle Solaris CDE is based on the original CDE 1.x train,
  which is different from the CDE 2.x codebase that was later open
  sourced. Most notably, the vulnerable buffer in the Oracle Solaris
  CDE is stack-based, while in the open source version it is
  heap-based.

Regarding the DtSvc bug, which does not currently have a CERT CVE:

  A difficult to exploit stack-based buffer overflow in the
  _DtCreateDtDirs() function in the Common Desktop Environment version
  distributed with Oracle Solaris 10 1/13 (Update 11) and earlier may
  allow local users to corrupt memory and potentially execute
  arbitrary code in order to escalate privileges via a long X11
  display name. The vulnerable function is located in the libDtSvc
  library and can be reached by executing the setuid program
  dtsession.

  The open source version of CDE (based on the CDE 2.x codebase) is
  not affected.
2020-01-13 19:13:23 -07:00
Jon Trulson
ab023dfaed DtSvc: always use vsnprintf
There was code (_DtSimpleError() and _DtSimpleErrornoError()) that
only used snprintf when USE_SNPRINTF was defined, which it never was
of course.  We just remove the 2 checks and always use [v]snprintf.
2020-01-12 17:25:56 -07:00
Jon Trulson
0d70d8b120 Set version to 2.3.1a (devel) for current master 2019-11-18 13:03:52 -07:00
Jon Trulson
5fe7ee5b67 Change CDE version info for 2.3.1 release 2019-11-15 18:04:01 -07:00
Jon Trulson
d7e5206d6b DtSvc/DtUtil2: fix implicit function declarations 2019-10-28 14:30:43 -06:00
Jon Trulson
dbce2e4337 DtSvc/DtUtil1: fix implicit function declarations 2019-10-28 14:30:36 -06:00
wmoxam
de81a5b518 Remove ancient HP VUE compatibility support 2019-10-15 20:32:05 -06:00
chase
dd68514e4f Remove hpversion.h from repository
This patch removes hpversion.h from the repository, this also untangles a
lot of ifdef mess. This closes bug CDExc19524.
2018-10-06 17:00:38 -06:00
chase
90a2b2848a remove ultrix support 2018-09-30 17:27:04 -06:00
Jon Trulson
6a72e2cea8 Change version to 2.3.0a (devel) 2018-09-20 16:49:01 -06:00
chase
5e96644596 DtsMM.c: Remove null in string 2018-08-26 15:44:47 -06:00
Jon Trulson
3d8e76a69f Merge branch 'master' into cde-next
Need to resync before folding current cde-next into master.
2018-07-06 13:19:33 -06:00
Jon Trulson
cf86199b19 Stable release: 2.3.0 2018-07-06 12:05:20 -06:00
Jon Trulson
00aafb206e DtSvc/DtUtil2: remove register keyword 2018-06-27 21:58:04 -06:00
Jon Trulson
f446ca54e9 DtSvc/DtUtil1: remove register keyword 2018-06-27 21:58:04 -06:00
Jon Trulson
dbef83212a DtSvc/DtEncap: remove register keyword 2018-06-27 21:58:04 -06:00
Jon Trulson
11ad65226d DtSvc/DtCodelibs: remove register keyword 2018-06-27 21:58:04 -06:00
Peter Howkins
ba513278b9 libDtSvc: Change to ANSI function definitions 2018-06-28 03:58:49 +01:00
chase
6bf175ef2d Remove apollo support 2018-06-24 16:22:37 -06:00
Jon Trulson
825a504a11 XPM: Replace calls to XmeXpm*() with regular Xpm*()
This is no longer needed on modern Motif's.
2018-06-14 16:50:57 -06:00
Jon Trulson
0ec25848e9 cde: change version to 2.2.4a, for a development release 2018-06-08 13:03:39 -06:00
Jon Trulson
a05ab67e12 XlationSvc: remove a "'" added in previous spelling commit that causes warnings 2018-05-31 22:23:19 -06:00
chase
809c3d8bb6 Spelling fixes 2018-05-31 22:23:19 -06:00
Ulrich Wilkens
297b6bd845 Fix warnings on FreeBSD 2018-05-31 22:04:08 -06:00
Ulrich Wilkens
07f272122d Fix Linux rpc problems with new glibc 2018-05-31 18:00:22 -06:00
chase
4f5e7fe5e3 Use POSIX macros for linux 2018-05-24 18:22:55 -06:00
chase
164e695cd0 remove OSF1 support 2018-05-24 14:25:26 -06:00
chase
07900bd93b Remove Unixware and openserver support 2018-05-20 12:13:07 -06:00
chase
8a4f389634 Remove UXPDS support 2018-05-15 20:27:22 -06:00
chase
33d2749ea3 Last of the spelling fixed 2018-04-28 12:36:44 -06:00
chase
6d3a19d8f9 Even more spelling fixed 2018-04-28 12:36:33 -06:00
chase
1fe5a550b2 Fix typo in license headers 2018-04-28 12:30:20 -06:00
chase
1817f335c6 Fix various spelling errors 2018-04-22 12:14:43 -06:00
Peter Howkins
691dffb076 lidtsvc: coverity fixes 2018-04-12 01:38:02 +01:00
Peter Howkins
acc3d8868a libdtsvc: Resolve coverity warnings related to 'dereference before null check' related to free() 2018-04-02 22:10:46 +01:00
Peter Howkins
b0c5941e3e libdtsvc: Compiler warning prevention 2018-04-02 21:31:50 +01:00
Jon Trulson
5729327cc8 dtexec,DtSvc/MsgLog.c: coverity CID 89585; resource leak 2018-04-01 13:54:22 -06:00
alx
c855ee9765 libDtSvc: added Xinerama support to _DtMessageDialog 2016-12-31 15:14:43 -07:00
Jon Trulson
a173dd3b3b release: update version to 2.2.4, update HISTORY 2016-06-19 12:46:29 -06:00
Jon Trulson
14b9e2efa3 cde: change revision to 2.2.3 2015-05-09 16:58:46 -06:00
Ulrich Wilkens
8b38d9ea49 Fix broken build on OpenBSD 2015-05-09 16:21:32 -06:00
Peter Howkins
5c8f66a07d libDtSvc: Resolve 28 compiler warnings. 2015-01-14 14:10:55 +00:00
Jon Trulson
c18f109032 DtSvc/DtUtil2: Coverity (memory corruption, moderate) 2014-12-26 15:57:47 -07:00
Jon Trulson
775008571d DtSvc/DtUtil1: Coverity (memory corruption, moderate) 2014-12-26 15:56:10 -07:00
Jon Trulson
9d26729d65 DtSvc/DtEncap: Coverity (memory corruption, moderate) 2014-12-26 15:55:02 -07:00
Jon Trulson
48cfb46a97 DtSvc: Coverity (memory corruption, moderate) 2014-12-26 15:54:08 -07:00
Jon Trulson
fa0074904b DtSvc: Coverity (memory corruption) 2014-12-26 14:06:26 -07:00
Jon Trulson
2d89ad036a DtSvc: Coverity (memory corruption) 2014-12-26 14:03:17 -07:00
Ulrich Wilkens
01d6c363fa OpenIndiana and Solaris port 2014-10-28 13:40:11 -06:00
Jon Trulson
8d0551bfda Version change to 2.2.2 2014-07-23 16:16:57 -06:00