Closed
【openEuler-26.09 Round alpha】【aarch64/x86_64】python3-scikit-learn 安全编译选项 Strip 不满足 #16
SPYFAMILYAdd on  Aug 16Closed at  Aug 18
SPYFAMILYCollaborators
Aug 16 Create

【软件信息】
1) OS版本及分支: openEuler-26.09 Round alpha
2) 内核信息: kernel-6.6.0-163.0.0.1.oe2609

【issue说明】

  1. 该issue属于版本安全测试-安全编译选项测试内容
  2. 扫描范围: BaseOS; 扫描结果均由majun平台安全扫描统一提供,遵循openEuler安全编译选项实施要求(C&C++)
    https://atomgit.com/openeuler/security-committee/blob/master/docs/zh/developer-guide/SecureCompile(C%26C%2B%2B).md
  3. 自验可使用checksec工具验证,或使用命令readelf、file、objdump等进行验证
  4. 如有误报,评论@issue提出人-说明误报情况,并修改issue为已完成即可
  5. 如编译选项与相关要求不同,但能实现相同及更高安全功能,评论@issue提出人-说明相关情况,并修改issue为已完成即可

【问题复现步骤】

  1. rpm2cpio *.rpm | cpio -id
  2. checksec file <file_name>
    checksec获取地址:https://github.com/slimm609/checksec/releases

【预期结果】
$checksec file <file_name>
RELRO Stack Canary NX PIE RPATH RUNPATH Symbols
Full RELRO Canary Found NX enabled PIE Enabled No RPATH No RUNPATH No Symbols

checksec结果对应安全编译选项:

  • RELRO:RELRO + BIND_NOW(Partial RELRO 表示未开启BIND_NOW)
  • Stack Canary:SP
  • NX:NX
  • PIE:PIE
  • RPATH/RUNPATH:NO Rpath/RunPath
  • Symbols:Strip

【实际结果】
python3-scikit-learn 安全编译选项 Strip 不满足

【不满足文件列表】
/usr/lib64/python3.11/site-packages/sklearn/cluster/_dbscan_inner.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/cluster/_dbscan_inner.cpython-311-x86_64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/cluster/_hierarchical_fast.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/cluster/_hierarchical_fast.cpython-311-x86_64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/feature_extraction/_hashing_fast.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/feature_extraction/_hashing_fast.cpython-311-x86_64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/metrics/_pairwise_distances_reduction/_argkmin.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/metrics/_pairwise_distances_reduction/_argkmin.cpython-311-x86_64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/metrics/_pairwise_distances_reduction/_argkmin_classmode.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/metrics/_pairwise_distances_reduction/_argkmin_classmode.cpython-311-x86_64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/metrics/_pairwise_distances_reduction/_base.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/metrics/_pairwise_distances_reduction/_base.cpython-311-x86_64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/metrics/_pairwise_distances_reduction/_datasets_pair.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/metrics/_pairwise_distances_reduction/_datasets_pair.cpython-311-x86_64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/metrics/_pairwise_distances_reduction/_middle_term_computer.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/metrics/_pairwise_distances_reduction/_middle_term_computer.cpython-311-x86_64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/metrics/_pairwise_distances_reduction/_radius_neighbors.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/metrics/_pairwise_distances_reduction/_radius_neighbors.cpython-311-x86_64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/metrics/_pairwise_distances_reduction/_radius_neighbors_classmode.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/metrics/_pairwise_distances_reduction/_radius_neighbors_classmode.cpython-311-x86_64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/neighbors/_partition_nodes.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/neighbors/_partition_nodes.cpython-311-x86_64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/preprocessing/_target_encoder_fast.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/preprocessing/_target_encoder_fast.cpython-311-x86_64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/svm/_liblinear.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/svm/_liblinear.cpython-311-x86_64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/svm/_libsvm.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/svm/_libsvm.cpython-311-x86_64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/svm/_libsvm_sparse.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/svm/_libsvm_sparse.cpython-311-x86_64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/svm/_newrand.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/svm/_newrand.cpython-311-x86_64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/tree/_tree.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/tree/_tree.cpython-311-x86_64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/utils/_fast_dict.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/utils/_fast_dict.cpython-311-x86_64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/utils/_vector_sentinel.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/utils/_vector_sentinel.cpython-311-x86_64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/utils/murmurhash.cpython-311-aarch64-linux-gnu.so
/usr/lib64/python3.11/site-packages/sklearn/utils/murmurhash.cpython-311-x86_64-linux-gnu.so

二、缺陷分析结构反馈
影响性分析说明:

缺陷严重等级:(Critical/High/Moderate/Low)

缺陷根因说明:

受影响版本排查(受影响/不受影响):
openEuler-20.03-LTS-SP4
openEuler-22.03-LTS-SP3
openEuler-22.03-LTS-SP4
openEuler-24.03-LTS
openEuler-24.03-LTS-SP1
openEuler-24.03-LTS-SP2

修复是否涉及abi变化(是/否):
openEuler-20.03-LTS-SP4
openEuler-22.03-LTS-SP3
openEuler-22.03-LTS-SP4
openEuler-24.03-LTS
openEuler-24.03-LTS-SP1
openEuler-24.03-LTS-SP2

likedislike
openeuler-ci-botopeneuler-ci-botCollaborators
Aug 16 Assign cherry530 as responsible person
openeuler-ci-botopeneuler-ci-botCollaborators
Aug 16 Modify description of issue
openeuler-ci-botopeneuler-ci-botCollaborators
Aug 16 Added label: sig/sig-python-modules
openeuler-ci-bot
openeuler-ci-botCollaborators
Aug 16 Comments:

以下的要求不是强制性的, 未按模板评论时对issue无任何影响
issue处理注意事项:
1. 当前issue受影响的分支提交pr时, 须在pr描述中填写当前issue编号进行关联, 否则无法关闭当前issue;
2. 模板内容需要填写完整, 无论是受影响或者不受影响都需要填写完整内容,未引入的分支不需要填写, 否则无法关闭当前issue;
3. 以下为模板中需要填写完整的内容, 请复制到评论区回复, 注: 内容的标题名称(影响性分析说明, 缺陷严重等级, 受影响版本排查(受影响/不受影响), 修复是否涉及abi变化(是/否))不能省略,省略后defect-manager将无法正常解析填写内容.
评论区可能使用到的指令说明:

指令 指令说明 使用权限
/check-issue 触发defect-manager校验 不限
/reason xxx /reason +挂起或取消条件 不限

影响性分析说明:

缺陷严重等级:(Critical/High/Moderate/Low)

缺陷根因说明:

受影响版本排查(受影响/不受影响):

  1. openEuler-20.03-LTS-SP4:
  2. openEuler-22.03-LTS-SP3:
  3. openEuler-22.03-LTS-SP4:
  4. openEuler-24.03-LTS:
  5. openEuler-24.03-LTS-SP1:
  6. openEuler-24.03-LTS-SP2:

abi变化(是/否):

  1. openEuler-20.03-LTS-SP4:
  2. openEuler-22.03-LTS-SP3:
  3. openEuler-22.03-LTS-SP4:
  4. openEuler-24.03-LTS:
  5. openEuler-24.03-LTS-SP1:
  6. openEuler-24.03-LTS-SP2:

缺陷issue处理具体操作请参考:
https://atomgit.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/defect-manager-manual.md
pr关联issue具体操作请参考:
https://docs.atomgit.com/docs/help/home/org_project/pullrequests/pr-related-issue

likedislike
openeuler-ci-bot
openeuler-ci-botCollaborators
Aug 16 Comments:

Welcome To openEuler Community

Hey @SPYFAMILY , thanks for your contribution to the community.

Bot Usage Manual

I'm the Bot here serving you. You can find the instructions on how to interact with me at Here . That means you can comment below every pull request or issue to trigger Bot Commands.

Contact Guide

If you have any questions, please contact the SIG: sig-python-modules ,
and any of the maintainers: @shinwell_hu, @yangzhao_kl ,
and any of the committers: @cherry530, @randy1568, @starlet-dx .

likedislike
openeuler-ci-botopeneuler-ci-botCollaborators
Aug 16 Added label: DEFECT/UNFIXED
SSPYFAMILYCollaborators
Aug 16 Associated milestone: openEuler-26.09-DevStation-alpha
wang--ge
Aug 18 Comments:

该包未开启debug包,导致部分 so 安全编译选项 Strip 不满足,开启debug包即可解决

已验证so无 not stripped 状态
image.png

likedislike
openeuler-ci-botopeneuler-ci-botCollaborators
Aug 18 Close issue
openeuler-ci-botopeneuler-ci-botCollaborators
Aug 18 changed custom state from 待办的 to 已完成
openeuler-ci-botopeneuler-ci-botCollaborators
Aug 18 Removed label: DEFECT/UNFIXED
openeuler-ci-bot
openeuler-ci-botCollaborators
Aug 18 Comments:

@cherry530 未对受影响版本排查/abi变化进行分析

likedislike
openeuler-ci-botopeneuler-ci-botCollaborators
Aug 18 Associated pull request
SSPYFAMILYCollaborators
Sep 29 changed custom state from 已完成 to 已验收
openeuler-ci-bot
openeuler-ci-botCollaborators
Sep 29 Comments:

@cherry530 未对受影响版本排查/abi变化进行分析

likedislike