[Bug 2076419] Re: lxml: Does not respect compiler flags

Robie Basak 2076419 at bugs.launchpad.net
Wed Oct 16 10:42:53 UTC 2024


For the Test Plan, I had asked in comment 1:

> ...specify what the output should look like

I've added something suitable for you. I guess this is what you intend?
It's important to be clear in case you're unavailable and someone else
needs to do the SRU verification, or if there's a regression found and
we're trying to investigate what the tester actually did. I have now
improved the documentation on this point here: https://canonical-sru-
docs.readthedocs-hosted.com/en/latest/explanation/further-
requirements/#detail-in-test-plans

** Description changed:

  [Impact]
  The packaging does not respect compiler flags, notably hardening flags like the stack protector, as well as frame pointer, as it never uses dpkg-buildflags and is still old manual style.
  
  This means there is a higher security risk, which given the nature of
  the library seems ill-advised, and the lack of frame pointers hampers
  profiling.
  
  [Test plan]
  Skim at the build log and see that the build flags have been passed, notably stuff like
  
  -fno-strict-overflow
  -Werror=implicit-function-declaration
  -fno-omit-frame-pointer
  -mno-omit-leaf-frame-pointer
  -fstack-protector-strong
  -fstack-clash-protection
  -Wformat
  -Werror=for
  
  Run https://gist.github.com/julian-
  klode/85e55553f85c410a1b856a93dce77208 on the ELF binaries and ensure
  that all lines have -fno-omit-frame-pointer
  
  Run a smoke test to see the parser still works:
  
  from lxml import etree
  from urllib.request import urlopen
  
  with urlopen("https://www.w3.org/TR/REC-xml/REC-xml-20081126.xml") as xml:
      xml=xml.read()
  tree=etree.fromstring(xml, base_url="https://www.w3.org/TR/REC-xml/REC-xml-20081126.xml")
  
  for element in tree.iter():
      print(element)
  
  print(etree.tostring(tree))
  
+ Expected result: XML output, with no exception raised and a zero exit
+ status. There is no need to verify the precise output.
+ 
  [Where problems could occur]
  Hardening flags could surface existing (possibly security) bugs that have been asymptomatic so far; frame pointers will incur some slow down.

** Changed in: lxml (Ubuntu Noble)
       Status: In Progress => Fix Committed

** Tags added: verification-needed verification-needed-noble

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to lxml in Ubuntu.
https://bugs.launchpad.net/bugs/2076419

Title:
  lxml: Does not respect compiler flags

Status in lxml package in Ubuntu:
  Fix Released
Status in lxml source package in Noble:
  Fix Committed

Bug description:
  [Impact]
  The packaging does not respect compiler flags, notably hardening flags like the stack protector, as well as frame pointer, as it never uses dpkg-buildflags and is still old manual style.

  This means there is a higher security risk, which given the nature of
  the library seems ill-advised, and the lack of frame pointers hampers
  profiling.

  [Test plan]
  Skim at the build log and see that the build flags have been passed, notably stuff like

  -fno-strict-overflow
  -Werror=implicit-function-declaration
  -fno-omit-frame-pointer
  -mno-omit-leaf-frame-pointer
  -fstack-protector-strong
  -fstack-clash-protection
  -Wformat
  -Werror=for

  Run https://gist.github.com/julian-
  klode/85e55553f85c410a1b856a93dce77208 on the ELF binaries and ensure
  that all lines have -fno-omit-frame-pointer

  Run a smoke test to see the parser still works:

  from lxml import etree
  from urllib.request import urlopen

  with urlopen("https://www.w3.org/TR/REC-xml/REC-xml-20081126.xml") as xml:
      xml=xml.read()
  tree=etree.fromstring(xml, base_url="https://www.w3.org/TR/REC-xml/REC-xml-20081126.xml")

  for element in tree.iter():
      print(element)

  print(etree.tostring(tree))

  Expected result: XML output, with no exception raised and a zero exit
  status. There is no need to verify the precise output.

  [Where problems could occur]
  Hardening flags could surface existing (possibly security) bugs that have been asymptomatic so far; frame pointers will incur some slow down.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/lxml/+bug/2076419/+subscriptions




More information about the foundations-bugs mailing list