rjancewicz / python-kadmin

Python module for kerberos admin (kadm5)
MIT License
35 stars 40 forks source link

Setting principal.policy to None gives Segfault #63

Open limburgher opened 5 years ago

limburgher commented 5 years ago

(gdb) run Starting program: /usr/bin/python3 warning: Loadable section ".note.gnu.property" outside of ELF segments [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Python 3.7.1 (default, Nov 23 2018, 10:01:49) [GCC 8.2.1 20181105 (Red Hat 8.2.1-5)] on linux Type "help", "copyright", "credits" or "license" for more information. warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments

import kadmin warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments kadm = kadmin.init_with_password(REDACTED) warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments principal = kadm.get_principal(REDACTED) principal.policy 'a_valid_policy_name' principal.policy = None

Program received signal SIGSEGV, Segmentation fault. __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:62 62 VPCMPEQ (%rdi), %ymm0, %ymm1 (gdb) backtrace

0 __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:62

1 0x00007ffff7921662 in __GI___strdup (s=0x0) at strdup.c:41

2 0x00007fffea6d96cd in PyKAdminPrincipal_set_policy (self=0x7fffea70c2d8, value=None, closure=)

at src/PyKAdminPrincipalObject.c:810

3 0x00007ffff7d1d487 in getset_set (descr=, obj=, value=, descr=, obj=,

value=<optimized out>) at /usr/src/debug/python3-3.7.1-4.fc29.x86_64/Objects/descrobject.c:210

4 0x00007ffff7dcbcab in _PyObject_GenericSetAttrWithDict (obj=<kadmin.Principal at remote 0x7fffea70c2d8>, name='policy', value=None, dict=0x0)

at /usr/src/debug/python3-3.7.1-4.fc29.x86_64/Objects/object.c:1335

5 0x00007ffff7dcc014 in PyObject_GenericSetAttr (value=None, name=, obj=<kadmin.Principal at remote 0x7fffea70c2d8>)

at /usr/src/debug/python3-3.7.1-4.fc29.x86_64/Objects/object.c:1340

6 PyObject_SetAttr (v=<kadmin.Principal at remote 0x7fffea70c2d8>, name=, value=None)

at /usr/src/debug/python3-3.7.1-4.fc29.x86_64/Objects/object.c:979

7 0x00007ffff7dd3ade in _PyEval_EvalFrameDefault (f=, throwflag=)

at /usr/src/debug/python3-3.7.1-4.fc29.x86_64/Python/ceval.c:2015

8 0x00007ffff7d188e6 in _PyEval_EvalCodeWithName (_co=, globals=, locals=, args=,

argcount=<optimized out>, kwnames=0x0, kwargs=0x0, kwcount=<optimized out>, kwstep=2, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x0, 
qualname=0x0) at /usr/src/debug/python3-3.7.1-4.fc29.x86_64/Python/ceval.c:3930

--Type for more, q to quit, c to continue without paging-- c

9 0x00007ffff7d19983 in PyEval_EvalCodeEx (_co=, globals=, locals=, args=, argcount=, kws=, kwcount=0, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0) at /usr/src/debug/python3-3.7.1-4.fc29.x86_64/Python/ceval.c:3959

10 0x00007ffff7d199ab in PyEval_EvalCode (co=co@entry=<code at remote 0x7fffea793db0>, globals=globals@entry={'name': 'main', 'doc': None, 'package': None, 'loader': <type at remote 0x55555556cd98>, 'spec': None, 'annotations': {}, 'builtins': <module at remote 0x7fffea8ddc28>, 'kadmin': <module at remote 0x7fffea70a8b8>, 'kadm': <kadmin.KAdmin at remote 0x7fffea614168>, 'principal': <kadmin.Principal at remote 0x7fffea70c2d8>}, locals=locals@entry={'name': 'main', 'doc': None, 'package': None, 'loader': <type at remote 0x55555556cd98>, 'spec': None, 'annotations': {}, 'builtins': <module at remote 0x7fffea8ddc28>, 'kadmin': <module at remote 0x7fffea70a8b8>, 'kadm': <kadmin.KAdmin at remote 0x7fffea614168>, 'principal': <kadmin.Principal at remote 0x7fffea70c2d8>}) at /usr/src/debug/python3-3.7.1-4.fc29.x86_64/Python/ceval.c:524

11 0x00007ffff7e4820e in run_mod (mod=mod@entry=0x55555562bc10, filename=filename@entry='', globals={'name': 'main', 'doc': None, 'package': None, 'loader': <type at remote 0x55555556cd98>, 'spec': None, 'annotations': {}, 'builtins': <module at remote 0x7fffea8ddc28>, 'kadmin': <module at remote 0x7fffea70a8b8>, 'kadm': <kadmin.KAdmin at remote 0x7fffea614168>, 'principal': <kadmin.Principal at remote 0x7fffea70c2d8>}, locals={'name': 'main', 'doc': None, 'package': None, 'loader': <type at remote 0x55555556cd98>, 'spec': None, 'annotations': {}, 'builtins': <module at remote 0x7fffea8ddc28>, 'kadmin': <module at remote 0x7fffea70a8b8>, 'kadm': <kadmin.KAdmin at remote 0x7fffea614168>, 'principal': <kadmin.Principal at remote 0x7fffea70c2d8>}, flags=flags@entry=0x7fffffffd110, arena=arena@entry=0x7fffea8e52d0) at /usr/src/debug/python3-3.7.1-4.fc29.x86_64/Python/pythonrun.c:1035

12 0x00007ffff7cdf65a in PyRun_InteractiveOneObjectEx (fp=fp@entry=0x7ffff7a57a20 <_IO_2_1_stdin_>, filename=filename@entry='', flags=flags@entry=0x7fffffffd110) at /usr/src/debug/python3-3.7.1-4.fc29.x86_64/Python/pythonrun.c:256

13 0x00007ffff7ce15e8 in PyRun_InteractiveLoopFlags (fp=fp@entry=0x7ffff7a57a20 <_IO_2_1_stdin_>, filename_str=filename_str@entry=0x7ffff7e4f53c "", flags=flags@entry=0x7fffffffd110) at /usr/src/debug/python3-3.7.1-4.fc29.x86_64/Python/pythonrun.c:120

14 0x00007ffff7e4b863 in PyRun_AnyFileExFlags (fp=0x7ffff7a57a20 <_IO_2_1_stdin_>, filename=0x7ffff7e4f53c "", closeit=0, flags=0x7fffffffd110) at /usr/src/debug/python3-3.7.1-4.fc29.x86_64/Python/pythonrun.c:78

15 0x00007ffff7e4d801 in pymain_run_file (p_cf=0x7fffffffd110, filename=0x0, fp=0x7ffff7a57a20 <_IO_2_1_stdin_>) at /usr/src/debug/python3-3.7.1-4.fc29.x86_64/Modules/main.c:427

16 pymain_run_filename (cf=0x7fffffffd110, pymain=0x7fffffffd220) at /usr/src/debug/python3-3.7.1-4.fc29.x86_64/Modules/main.c:1537

17 pymain_run_python (pymain=0x7fffffffd220) at /usr/src/debug/python3-3.7.1-4.fc29.x86_64/Modules/main.c:2626

18 pymain_main (pymain=, pymain=) at /usr/src/debug/python3-3.7.1-4.fc29.x86_64/Modules/main.c:2787

19 0x00007ffff7e4dbdc in _Py_UnixMain (argc=, argv=) at /usr/src/debug/python3-3.7.1-4.fc29.x86_64/Modules/main.c:2822

20 0x00007ffff78bb413 in __libc_start_main (main=0x555555555050
, argc=1, argv=0x7fffffffd378, init=, fini=, rtld_fini=, stack_end=0x7fffffffd368) at ../csu/libc-start.c:308

21 0x000055555555508e in _start ()

(gdb)

limburgher commented 5 years ago

It doesn't accept an empty string as input, either. There doesn't seem to be an equivalent to kadmin modify -clearpolicy PRINCIPAL.