D5394: KAuth integration in document saving - vol. 2

Martin Kostolný noreply at phabricator.kde.org
Sun Apr 30 00:22:03 UTC 2017


martinkostolny updated this revision to Diff 14013.
martinkostolny added a comment.


  Thanks for noticing the security issues! And sorry for the pause. Here is an updated diff which should ensure, QFile is using relative path. I've managed to reduce the use of absolute paths to this state - strace (saving privileged example2.txt file inside ~/Downloads):
  
    chdir("/home/kotelnik/Downloads")       = 0
    stat("example2.txt", {st_mode=S_IFREG|0640, st_size=1085659, ...}) = 0
    getcwd("/home/kotelnik/Downloads", 4096) = 25
    getpid()                                = 3343
    open("/home/kotelnik/Downloads/example2.txt.TJ3343", O_RDWR|O_CREAT|O_EXCL|O_CLOEXEC, 0600) = 10
    fcntl(10, F_SETFD, FD_CLOEXEC)          = 0
    lseek(10, 0, SEEK_SET)                  = 0
    close(10)                               = 0
    open("/tmp/kate.nS3280", O_RDONLY|O_CLOEXEC) = 10
    fcntl(10, F_SETFD, FD_CLOEXEC)          = 0
    fstat(10, {st_mode=S_IFREG|0600, st_size=1085661, ...}) = 0
    open("example2.txt.TJ3343", O_RDWR|O_CREAT|O_CLOEXEC, 0666) = 11
    [...]
    stat("example2.txt", {st_mode=S_IFREG|0640, st_size=1085659, ...}) = 0
    access("example2.txt", R_OK)            = 0
    access("example2.txt", W_OK)            = 0
    access("example2.txt", X_OK)            = -1 EACCES (Permission denied)
    chmod("example2.txt.TJ3343", 0640)      = 0
    fchown(11, 33, 33)                      = 0
    rename("example2.txt.TJ3343", "example2.txt") = 0
  
  One not-nice part in code is opening and immediately closing the QTemporaryFile (the only use of absolute path). Then tempFile is opened again with relative path and written to like before. I wanted to make use of the convenient way of creating unique temporary filename. Other suggestions are welcome :).
  
  Regarding parallel KAuth actions I didn't manage to understand KAuth code enough to make a fix myself. So there comes 2 bug reports:
  
  - https://bugs.kde.org/show_bug.cgi?id=379215
  - https://bugs.kde.org/show_bug.cgi?id=379216

REPOSITORY
  R39 KTextEditor

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D5394?vs=13621&id=14013

REVISION DETAIL
  https://phabricator.kde.org/D5394

AFFECTED FILES
  src/buffer/katesecuretextbuffer.cpp
  src/buffer/katesecuretextbuffer_p.h
  src/buffer/katetextbuffer.cpp
  src/buffer/katetextbuffer.h

To: martinkostolny, #ktexteditor, fvogt
Cc: elvisangelaccio, aacid, ivan, lbeltrame, fvogt, apol, anthonyfieroni, cullmann, ltoscano, dhaumann, graesslin, davidedmundson, palant, kwrite-devel, dfaure, #frameworks, head7, kfunk, sars
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20170430/20536cff/attachment.html>


More information about the Kde-frameworks-devel mailing list