The branch, master has been updated
via b72a7e2fb53 s3:libsmb: Fix heap-use-after-free in
py_cli_notify_get_changes()
from 9f4fcac1209 vfs_fake_acls: Fix error path return in
fake_acls_fstatat()
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit b72a7e2fb53c79a4790e221776281cbf02bc2664
Author: Andreas Schneider <[email protected]>
Date: Tue Oct 14 11:33:00 2025 +0200
s3:libsmb: Fix heap-use-after-free in py_cli_notify_get_changes()
==556308==ERROR: AddressSanitizer: heap-use-after-free on address
0x7d2f14452360 at pc 0x7baf0a5c3a8b bp 0x7ffe6e1eb2e0 sp 0x7ffe6e1eb2d8
11:26:39 [1226/65848]
READ of size 4 at 0x7d2f14452360 thread T0
#0 0x7baf0a5c3a8a in py_cli_notify_get_changes
../../source3/libsmb/pylibsmb.c:2291
#1 0x7faf165ba239
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x1ba239) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#2 0x7faf1658c798 in PyObject_Vectorcall
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x18c798) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#3 0x7faf165a366e in _PyEval_EvalFrameDefault
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x1a366e) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#4 0x7faf165db031
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x1db031) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#5 0x7faf1659fa1d in _PyEval_EvalFrameDefault
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x19fa1d) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#6 0x7faf1658ce9b
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x18ce9b) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#7 0x7faf1667a637
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x27a637) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#8 0x7faf1658a726 in _PyObject_MakeTpCall
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x18a726) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#9 0x7faf1659ae9b in _PyEval_EvalFrameDefault
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x19ae9b) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#10 0x7faf165db031
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x1db031) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#11 0x7faf1659fa1d in _PyEval_EvalFrameDefault
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x19fa1d) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#12 0x7faf1658ce9b
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x18ce9b) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#13 0x7faf1667a637
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x27a637) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#14 0x7faf1658a726 in _PyObject_MakeTpCall
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x18a726) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#15 0x7faf1659ae9b in _PyEval_EvalFrameDefault
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x19ae9b) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#16 0x7faf165db031
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x1db031) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#17 0x7faf1659fa1d in _PyEval_EvalFrameDefault
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x19fa1d) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#18 0x7faf1658ce9b
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x18ce9b) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#19 0x7faf1667a637
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x27a637) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#20 0x7faf1658a726 in _PyObject_MakeTpCall
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x18a726) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#21 0x7faf1659e0ae in _PyEval_EvalFrameDefault
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x19e0ae) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#22 0x7faf165db031
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x1db031) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#23 0x7faf1659fa1d in _PyEval_EvalFrameDefault
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x19fa1d) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#24 0x7faf1658ce9b
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x18ce9b) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#25 0x7faf1667a637
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x27a637) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#26 0x7faf1658a726 in _PyObject_MakeTpCall
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x18a726) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#27 0x7faf1659e0ae in _PyEval_EvalFrameDefault
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x19e0ae) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#28 0x7faf1658cf1b
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x18cf1b) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#29 0x7faf165c3c5a
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x1c3c5a) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#30 0x7faf1658a9b5
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x18a9b5) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#31 0x7faf1658a726 in _PyObject_MakeTpCall
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x18a726) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#32 0x7faf165a366e in _PyEval_EvalFrameDefault
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x1a366e) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#33 0x7faf1662f875 in PyEval_EvalCode
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x22f875) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#34 0x7faf166498fc
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x2498fc) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#35 0x7faf165b17fe
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x1b17fe) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#36 0x7faf1658c798 in PyObject_Vectorcall
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x18c798) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#37 0x7faf1659e0ae in _PyEval_EvalFrameDefault
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x19e0ae) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#38 0x7faf16664a89
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x264a89) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#39 0x7faf16663a38 in Py_RunMain
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x263a38) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#40 0x7faf1661e3b5 in Py_BytesMain
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x21e3b5) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
#41 0x7faf1602b2fa in __libc_start_call_main (/lib64/libc.so.6+0x2b2fa)
(BuildId: 8523b213e7586a93ab00f6dd476418b1e521e62c)
#42 0x7faf1602b3ca in __libc_start_main_impl (/lib64/libc.so.6+0x2b3ca)
(BuildId: 8523b213e7586a93ab00f6dd476418b1e521e62c)
#43 0x564f2695f074 in _start (/usr/bin/python3.13+0x1074) (BuildId:
381e7a168bb2c479b5b88bcfd875777e342d6b45)
0x7d2f14452360 is located 736 bytes inside of 861-byte region
[0x7d2f14452080,0x7d2f144523dd)
freed by thread T0 here:
#0 0x7faf16d208eb (/lib64/libasan.so.8+0x1208eb) (BuildId:
61b31c4760766f5f2552c32e175755894d8f6565)
#1 0x7faf14560a72 in _tc_free_poolmem ../../lib/talloc/talloc.c:1080
#2 0x7faf1455f71b in _tc_free_internal ../../lib/talloc/talloc.c:1215
#3 0x7faf1455ee1b in _tc_free_children_internal
../../lib/talloc/talloc.c:1669
#4 0x7faf1455ee1b in _tc_free_internal ../../lib/talloc/talloc.c:1184
#5 0x7faf14560315 in _talloc_free_internal
../../lib/talloc/talloc.c:1248
#6 0x7faf14560315 in _talloc_free ../../lib/talloc/talloc.c:1792
#7 0x7baf0a5c3883 in py_cli_notify_get_changes
../../source3/libsmb/pylibsmb.c:2274
#8 0x7faf165ba239
(/lib64/glibc-hwcaps/x86-64-v3/libpython3.13.so.1.0+0x1ba239) (BuildId:
3925b60e845f4803e4de04e1fdf7845f2e54ecb0)
Signed-off-by: Andreas Schneider <[email protected]>
Reviewed-by: Noel Power <[email protected]>
Autobuild-User(master): Andreas Schneider <[email protected]>
Autobuild-Date(master): Tue Oct 14 12:35:37 UTC 2025 on atb-devel-224
-----------------------------------------------------------------------
Summary of changes:
source3/libsmb/pylibsmb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Changeset truncated at 500 lines:
diff --git a/source3/libsmb/pylibsmb.c b/source3/libsmb/pylibsmb.c
index cba910d173d..be2f2cbcd7e 100644
--- a/source3/libsmb/pylibsmb.c
+++ b/source3/libsmb/pylibsmb.c
@@ -2270,7 +2270,7 @@ static PyObject *py_cli_notify_get_changes(struct
py_cli_notify_state *self,
return NULL;
}
- status = cli_notify_recv(req, req, &num_changes, &changes);
+ status = cli_notify_recv(req, frame, &num_changes, &changes);
TALLOC_FREE(req);
if (!NT_STATUS_IS_OK(status)) {
TALLOC_FREE(frame);
--
Samba Shared Repository