17 Star 4 Fork 52

src-openEuler / llvm

 / 详情

【22.03_LTS_SP1_RC2】【x86/arm】llvm存在不安全的编译选项PIE、STRIP

已验收
缺陷
创建于  
2022-12-07 21:12

软件信息:
1) OS版本及分支:openEuler 22.03 lts sp1 round2
2) 内核信息:Linux openEuler 5.10.0-132.0.0.73.oe2203sp1
3) 发现问题的组件版本信息:
repo:OS,everything,EPOL

【问题复现步骤】
1、PIE:查看编译日志中是否包含FPIE编译选项
2、STRIP:(1):rpm2cpio **.rpm|cpio -id (2)file file
3、RPATH:(1):rpm2cpio∗∗.rpm|cpio−id(2)readelf−dfile
【预期结果】
不存在不安全的编译选项:
1、包含FPIE安全编译选项
2、不包含not stripped
3、不包含rpath/runpath
【实际结果】
存在不安全的编译选项

评论 (4)

wangxiaoya 创建了缺陷

Hi ryuo, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: Compiler, and any of the maintainers: @Peilin Guo , @kuen , @Noah , @eastb233 , @cf-zhao , @周磊 , @编译小伙 , @stubCode

openeuler-ci-bot 添加了
 
sig/Compiler
标签
wangxiaoya 修改了描述
wangxiaoya 修改了标题
wangxiaoya 负责人设置为guoge
wangxiaoya 优先级设置为主要
wangxiaoya 计划开始日期设置为2022-12-08
wangxiaoya 计划截止日期设置为2022-12-08
wangxiaoya 修改了标题
wangxiaoya 修改了描述
Noah 负责人guoge 修改为eastb233

22.03 LTS SP1 RC2 AArch64&X86 包验证如下:
1、fPIE选项:日志里未搜到-fPIE,-pie选项
2、验证无not stripped文件

for file in `find -name "*" -type f`; do echo $file; file $file | grep -i "not stripped" ; done |& tee test.log

3、验证无存在RUN PATH的文件

for file in `find -name "*" -type f`; do echo $file; readelf -d $file | grep -i PATH ; done |& tee test.log

strip
./usr/bin/llvm-config-64:stripped success
./usr/lib64/libLLVMAArch64AsmParser.a:stripped success
./usr/lib64/libLLVMAArch64CodeGen.a:stripped success
./usr/lib64/libLLVMAArch64Desc.a:stripped success
./usr/lib64/libLLVMAArch64Disassembler.a:stripped success
./usr/lib64/libLLVMAArch64Info.a:stripped success
./usr/lib64/libLLVMAArch64Utils.a:stripped success
./usr/lib64/libLLVMAMDGPUAsmParser.a:stripped success
./usr/lib64/libLLVMAMDGPUCodeGen.a:stripped success
./usr/lib64/libLLVMAMDGPUDesc.a:stripped success
./usr/lib64/libLLVMAMDGPUDisassembler.a:stripped success
./usr/lib64/libLLVMAMDGPUInfo.a:stripped success
./usr/lib64/libLLVMAMDGPUUtils.a:stripped success
./usr/lib64/libLLVMARMAsmParser.a:stripped success
./usr/lib64/libLLVMARMCodeGen.a:stripped success
./usr/lib64/libLLVMARMDesc.a:stripped success
./usr/lib64/libLLVMARMDisassembler.a:stripped success
./usr/lib64/libLLVMARMInfo.a:stripped success
./usr/lib64/libLLVMARMUtils.a:stripped success
./usr/lib64/libLLVMAVRAsmParser.a:stripped success
./usr/lib64/libLLVMAVRCodeGen.a:stripped success
./usr/lib64/libLLVMAVRDesc.a:stripped success
./usr/lib64/libLLVMAVRDisassembler.a:stripped success
./usr/lib64/libLLVMAVRInfo.a:stripped success
./usr/lib64/libLLVMAggressiveInstCombine.a:stripped success
./usr/lib64/libLLVMAnalysis.a:stripped success
./usr/lib64/libLLVMAsmParser.a:stripped success
./usr/lib64/libLLVMAsmPrinter.a:stripped success
./usr/lib64/libLLVMBPFAsmParser.a:stripped success
./usr/lib64/libLLVMBPFCodeGen.a:stripped success
./usr/lib64/libLLVMBPFDesc.a:stripped success
./usr/lib64/libLLVMBPFDisassembler.a:stripped success
./usr/lib64/libLLVMBPFInfo.a:stripped success
./usr/lib64/libLLVMBinaryFormat.a:stripped success
./usr/lib64/libLLVMBitReader.a:stripped success
./usr/lib64/libLLVMBitWriter.a:stripped success
./usr/lib64/libLLVMBitstreamReader.a:stripped success
./usr/lib64/libLLVMCFGuard.a:stripped success
./usr/lib64/libLLVMCodeGen.a:stripped success
./usr/lib64/libLLVMCore.a:stripped success
./usr/lib64/libLLVMCoroutines.a:stripped success
./usr/lib64/libLLVMCoverage.a:stripped success
./usr/lib64/libLLVMDWARFLinker.a:stripped success
./usr/lib64/libLLVMDebugInfoCodeView.a:stripped success
./usr/lib64/libLLVMDebugInfoDWARF.a:stripped success
./usr/lib64/libLLVMDebugInfoGSYM.a:stripped success
./usr/lib64/libLLVMDebugInfoMSF.a:stripped success
./usr/lib64/libLLVMDebugInfoPDB.a:stripped success
./usr/lib64/libLLVMDemangle.a:stripped success
./usr/lib64/libLLVMDlltoolDriver.a:stripped success
./usr/lib64/libLLVMExecutionEngine.a:stripped success
./usr/lib64/libLLVMExtensions.a:stripped success
./usr/lib64/libLLVMFileCheck.a:stripped success
./usr/lib64/libLLVMFrontendOpenACC.a:stripped success
./usr/lib64/libLLVMFrontendOpenMP.a:stripped success
./usr/lib64/libLLVMFuzzMutate.a:stripped success
./usr/lib64/libLLVMGlobalISel.a:stripped success
./usr/lib64/libLLVMHelloNew.a:stripped success
./usr/lib64/libLLVMHexagonAsmParser.a:stripped success
./usr/lib64/libLLVMHexagonCodeGen.a:stripped success
./usr/lib64/libLLVMHexagonDesc.a:stripped success
./usr/lib64/libLLVMHexagonDisassembler.a:stripped success
./usr/lib64/libLLVMHexagonInfo.a:stripped success
./usr/lib64/libLLVMIRReader.a:stripped success
./usr/lib64/libLLVMInstCombine.a:stripped success
./usr/lib64/libLLVMInstrumentation.a:stripped success
./usr/lib64/libLLVMInterfaceStub.a:stripped success
./usr/lib64/libLLVMInterpreter.a:stripped success
./usr/lib64/libLLVMJITLink.a:stripped success
./usr/lib64/libLLVMLTO.a:stripped success
./usr/lib64/libLLVMLanaiAsmParser.a:stripped success
./usr/lib64/libLLVMLanaiCodeGen.a:stripped success
./usr/lib64/libLLVMLanaiDesc.a:stripped success
./usr/lib64/libLLVMLanaiDisassembler.a:stripped success
./usr/lib64/libLLVMLanaiInfo.a:stripped success
./usr/lib64/libLLVMLibDriver.a:stripped success
./usr/lib64/libLLVMLineEditor.a:stripped success
./usr/lib64/libLLVMLinker.a:stripped success
./usr/lib64/libLLVMMC.a:stripped success
./usr/lib64/libLLVMMCA.a:stripped success
./usr/lib64/libLLVMMCDisassembler.a:stripped success
./usr/lib64/libLLVMMCJIT.a:stripped success
./usr/lib64/libLLVMMCParser.a:stripped success
./usr/lib64/libLLVMMIRParser.a:stripped success
./usr/lib64/libLLVMMSP430AsmParser.a:stripped success
./usr/lib64/libLLVMMSP430CodeGen.a:stripped success
./usr/lib64/libLLVMMSP430Desc.a:stripped success
./usr/lib64/libLLVMMSP430Disassembler.a:stripped success
./usr/lib64/libLLVMMSP430Info.a:stripped success
./usr/lib64/libLLVMMipsAsmParser.a:stripped success
./usr/lib64/libLLVMMipsCodeGen.a:stripped success
./usr/lib64/libLLVMMipsDesc.a:stripped success
./usr/lib64/libLLVMMipsDisassembler.a:stripped success
./usr/lib64/libLLVMMipsInfo.a:stripped success
./usr/lib64/libLLVMNVPTXCodeGen.a:stripped success
./usr/lib64/libLLVMNVPTXDesc.a:stripped success
./usr/lib64/libLLVMNVPTXInfo.a:stripped success
./usr/lib64/libLLVMObjCARCOpts.a:stripped success
./usr/lib64/libLLVMObject.a:stripped success
./usr/lib64/libLLVMObjectYAML.a:stripped success
./usr/lib64/libLLVMOption.a:stripped success
./usr/lib64/libLLVMOrcJIT.a:stripped success
./usr/lib64/libLLVMOrcShared.a:stripped success
./usr/lib64/libLLVMOrcTargetProcess.a:stripped success
./usr/lib64/libLLVMPasses.a:stripped success
./usr/lib64/libLLVMPowerPCAsmParser.a:stripped success
./usr/lib64/libLLVMPowerPCCodeGen.a:stripped success
./usr/lib64/libLLVMPowerPCDesc.a:stripped success
./usr/lib64/libLLVMPowerPCDisassembler.a:stripped success
./usr/lib64/libLLVMPowerPCInfo.a:stripped success
./usr/lib64/libLLVMProfileData.a:stripped success
./usr/lib64/libLLVMRISCVAsmParser.a:stripped success
./usr/lib64/libLLVMRISCVCodeGen.a:stripped success
./usr/lib64/libLLVMRISCVDesc.a:stripped success
./usr/lib64/libLLVMRISCVDisassembler.a:stripped success
./usr/lib64/libLLVMRISCVInfo.a:stripped success
./usr/lib64/libLLVMRemarks.a:stripped success
./usr/lib64/libLLVMRuntimeDyld.a:stripped success
./usr/lib64/libLLVMScalarOpts.a:stripped success
./usr/lib64/libLLVMSelectionDAG.a:stripped success
./usr/lib64/libLLVMSparcAsmParser.a:stripped success
./usr/lib64/libLLVMSparcCodeGen.a:stripped success
./usr/lib64/libLLVMSparcDesc.a:stripped success
./usr/lib64/libLLVMSparcDisassembler.a:stripped success
./usr/lib64/libLLVMSparcInfo.a:stripped success
./usr/lib64/libLLVMSupport.a:stripped success
./usr/lib64/libLLVMSymbolize.a:stripped success
./usr/lib64/libLLVMSystemZAsmParser.a:stripped success
./usr/lib64/libLLVMSystemZCodeGen.a:stripped success
./usr/lib64/libLLVMSystemZDesc.a:stripped success
./usr/lib64/libLLVMSystemZDisassembler.a:stripped success
./usr/lib64/libLLVMSystemZInfo.a:stripped success
./usr/lib64/libLLVMTableGen.a:stripped success
./usr/lib64/libLLVMTarget.a:stripped success
./usr/lib64/libLLVMTextAPI.a:stripped success
./usr/lib64/libLLVMTransformUtils.a:stripped success
./usr/lib64/libLLVMVectorize.a:stripped success
./usr/lib64/libLLVMWebAssemblyAsmParser.a:stripped success
./usr/lib64/libLLVMWebAssemblyCodeGen.a:stripped success
./usr/lib64/libLLVMWebAssemblyDesc.a:stripped success
./usr/lib64/libLLVMWebAssemblyDisassembler.a:stripped success
./usr/lib64/libLLVMWebAssemblyInfo.a:stripped success
./usr/lib64/libLLVMWindowsManifest.a:stripped success
./usr/lib64/libLLVMX86AsmParser.a:stripped success
./usr/lib64/libLLVMX86CodeGen.a:stripped success
./usr/lib64/libLLVMX86Desc.a:stripped success
./usr/lib64/libLLVMX86Disassembler.a:stripped success
./usr/lib64/libLLVMX86Info.a:stripped success
./usr/lib64/libLLVMXCoreCodeGen.a:stripped success
./usr/lib64/libLLVMXCoreDesc.a:stripped success
./usr/lib64/libLLVMXCoreDisassembler.a:stripped success
./usr/lib64/libLLVMXCoreInfo.a:stripped success
./usr/lib64/libLLVMXRay.a:stripped success
./usr/lib64/libLLVMipo.a:stripped success
./usr/lib64/llvm/unittests/Passes/TestPlugin.so:stripped success
./usr/lib64/llvm/unittests/Support/DynamicLibrary/PipSqueak.so:stripped success
./usr/lib64/llvm/unittests/Support/DynamicLibrary/SecondLib.so:stripped success

wangxiaoya 任务状态已完成 修改为已验收

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(3)
5329419 openeuler ci bot 1632792936
1
https://gitee.com/src-openeuler/llvm.git
git@gitee.com:src-openeuler/llvm.git
src-openeuler
llvm
llvm

搜索帮助

14c37bed 8189591 565d56ea 8189591